iOS AutoLayout 완벽 가이드 - 실무 프로젝트를 위한 실전강의

iOS AutoLayout 완벽 가이드 - 실무 프로젝트를 위한 실전강의

(21개의 수강평)

298명의 수강생
Alex Shim 프로필

UILabel 에서 numOfLine = 0 설정해도 Text가 잘리는 현상 Alex Shim 8일 전

안녕하세요.

좋은 강의 감사드립니다.

UILabel 사용 중, attributedTest에 text를 assign 하면 특정 text에서 맨 아랫줄이 잘리는 현상이 있습니다.

모든 문장이 다 그런것은 아니고 특정한 상황에서 마지막 줄이 잘리는 현상인데요.

UILabel이 Height 계산하는데 뭔가 정보가 부족했던게 아닌가 싶습니다.

TableViewCell 안에 있는 UILabel이라 cell.reload해서 다시 그려도 마찬가지고

label.sizeToFit() 해도 원하는 결과를 얻지 못했습니다.

어떻게 하면 Text에 Fit 하게 UILabel Height를 줄 수 있을까요?

1
보루시아 프로필

Graph_2 강좌에서 NSLayoutConstraint 를 리턴해서 넣어주는데 보루시아 1달 전

리턴해서 넣어주지 않아도 그래프가 바뀌는데 꼭 리턴해서 넣어줘야 하나요?

1
김승원 프로필

ios13, xcode11.3 버전 scrollview 따라하기가 안되요, 김승원 1달 전

강사님 말씀대로 textField 를 여러 개 만든 후,

view로 감싸주고 scrollview로 감싸준다음에,

0,0,0,0 으로 크기를 맞춰주고, 그리고 view를 equal with를 해도 화면에 이상하게 표시됩니다.

그리고 강사님 화면과 다르게 scrollview안에 이런 파일이 있습니다. 어떻게 해야할까요? ㅠㅠ

1
김태완 프로필

chat app만드는 강의를 듣고 공부하다 질문이 있습니다 김태완 5달 전

chat app 강의를 듣고 문자메세지말고

이미지 메세지를 보내는 것도 해보고 싶어서

이미지 뷰의 넓이를 고정해놓고 이미지 크기에 따라 변하는 높이를 구현해봤습니다.

그런데 생각한데로 잘나오지 않습니다.

좋은 방법이 있을까요?

 

 

 

 

2
문태부 프로필

알림후 클릭시 이동 문제 문태부 8달 전

AppDelegate.swift

 

 

    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response : UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {

        print("userNotificationCenter 2")

        if response.notification.request.identifier == "testIdentifier" {

            print("handling notification with the identifier 'testIdentifer'")

        }

        

        if let notification = response.notification.request.content.userInfo as? [String:AnyObject]{

            print (notification as Any)

            

            let message = parseRemoteNotification(notification: notification)

            print(message!)

            

            let seq = parseOrderSeq(notification: notification)

            print(seq!)

          

            var loginVC : UIViewController?

            loginVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "LoginViewController") as! LoginViewController

            

            let appDelegate = UIApplication.shared.delegate as! AppDelegate

            appDelegate.window?.rootViewController = loginVC

        }

        completionHandler()

    }


 

console log

2019-05-23 15:14:41.282374+0900 bossapp[38816:10485392] Warning: Attempt to present <UIAlertController: 0x105007200> on <bossapp.LoginViewController: 0x103526eb0> whose view is not in the window hierarchy!

하면서 구현이 안되고 그냥 바로 원래 되던 메인으로 가네요. 어떻게 구현 하면 좋을까요?!

1
vampireahn 프로필

그래프 강좌 실행시 Thread오류 납니다. vampireahn 9달 전

class ViewController: UIViewController {

@IBOutlet weak var graph1Height: NSLayoutConstraint!

@IBOutlet weak var graph2Height: NSLayoutConstraint!

@IBOutlet weak var graph3Height: NSLayoutConstraint!

@IBOutlet weak var graph4Height: NSLayoutConstraint!

@IBOutlet weak var graph5Height: NSLayoutConstraint!

override func viewDidLoad() {

super.viewDidLoad()

graph1Height = graph1Height.changeMultiplier(value: 0.9 as! CGFont) <- Thread 오류

graph2Height = graph2Height.changeMultiplier(value: 0.8 as! CGFont)

graph3Height = graph3Height.changeMultiplier(value: 0.7 as! CGFont)

graph4Height = graph4Height.changeMultiplier(value: 0.8 as! CGFont)

graph5Height = graph5Height.changeMultiplier(value: 0.5 as! CGFont)

}

}

extension NSLayoutConstraint {

func changeMultiplier(value: CGFont) -> NSLayoutConstraint {

    NSLayoutConstraint.deactivate([self])

let newConstraint = NSLayoutConstraint.init(item: self.firstItem!, attribute: self.firstAttribute, relatedBy: self.relation, toItem: self.secondItem, attribute: self.secondAttribute, multiplier: value as! CGFloat, constant: self.constant)

newConstraint.priority = self.priority

newConstraint.shouldBeArchived = self.shouldBeArchived

newConstraint.identifier = self.identifier

NSLayoutConstraint.activate([newConstraint])

return newConstraint

}

}

3
신동현 프로필

swift 파일명 신동현 11달 전

강의 잘 듣고 있습니다.

그런데 Popup_3_Align_Important 강의를 따라하다가 강의중에 강사님이

PopupViewController.swift 와 PopupViewController.storyboard 파일을 생성했는데요

제가 파일명이 길어서 간단하게 아래와 같이 줄였습니다.

PopupView.swift 와 PopupView.storyboard 파일을 생성후 작업해서 실행해보니 팝업 실행시에 오류나서 화면이 멈추더군요.. 다른 문제가 있나 이것 저것 수정해보다 결국 파일명을 강사님이 한것과 똑같이 수정하니 잘 동작하더군요

이상해서 질문 남깁니다. 혹시 파일명을 정할때 무슨 규칙 같은게 있나요?

1
김련호 프로필

"00" 혹은 "000" 입력시에 TextField의 값이 0으로 바뀜 김련호 2019.01.28

스스로 해결해보라고 하셔서 해결한 내용과 검증을 받고 싶어 질문 남깁니다 ~

문제는 NumberFormat으로 표시한 comma 때문에 Int로 변환시에 nil 이 되는 문제였고,

아래와 같이 String.replacingOccurrences로 해결하였는데

혹시 더 좋은 방법이 있을지 질문 드립니다.

func deliverButtonValue(number: String) {        

var currentNumber: Int?

var newNumber = Int(number)!

// customTextField의 string에서 comma를 제거

if let curr = customTextField.text {

currentNumber = Int(curr.replacingOccurrences(of: ",", with: ""))

}

if let hasNumber = currentNumber {

if number == "00" {

newNumber = hasNumber * 100

} else if number == "000" {

newNumber = hasNumber * 1000

}

}

let formatter = NumberFormatter()

formatter.numberStyle = .decimal

customTextField.text = formatter.string(from: NSNumber(value: newNumber))

}

1
김은정 프로필

Custom_Keyboard_3 질문 김은정 2019.01.11

안녕하세요 Custom_Keyboard_3 강의를 보고 따라하던 중에 오류가 발생하여 질문 남깁니다.

현재 XCode 10.1 (10B61) 에서 작업 중 입니다.

CustomKeyboard Delegate를 만든 후 버튼 클릭 하였으나 앱이 비정상 종료되고 있습니다.

func keyboardTapped(str: String) {

print(str)

}

오류 내용은 아래와 같습니다.

[MC] System group container for systemgroup.com.apple.configurationprofiles path is ...

[MC] Reading from private effective user settings.

7분대 강의까지는 따라 했는데 구글링을 해 보아도 이유를 잘 모르겠습니다.

확인 부탁드립니다.

감사합니다.

0
서강록 프로필

FirstItem & SecondItem 순서에 관해 질문이있습니다. 서강록 2018.11.13

안녕하세요.

Multiplier1 강의를 들으며 따라해보는 중이 똑같이 나오지않아 질문드립니다.

강의와 다른점은 xcode 10.1 을 사용하고있습니다.

강의처음부터 똑같이 leading / trailing / top / bottom 을 추가하였고

강의해주신 내용처럼

trailing / bottom은 나누기로 적용된다고하셨는데 ..

처음에 저는 trailing / bottom도 multiplier가 곱셈으로 적용되어 커진것을 확인할 수 있었습니다.

그러면서 삽질을 좀하다가 보니...

FirstItem & SecondItem 순서를 바꿔보니 나누기로 적용이 되더군요..

아직 뒤의 강의를 더 듣진않았지만

FirstItem & SecondItem 은 시스템이 정해주는것이라고 들었는데

혹시 저는 왜 시스템이 다르게 지정되있는지 궁굼합니다.

그리고 뒤에 FirstItem & SecondItem에 관한 설명에 대한 강의가 있나요?

감사합니다.

0
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스