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

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

(29개의 수강평)

383명의 수강생
iOS AutolayoutUX/UI모바일 앱모바일 디자인
성인기 프로필

xib 생성 인터페이스 빌더가 다르게 노출 되는데 상관없이 동일하게 진행 하면 되나요? 성인기 1달 전

xcode 11.4  버전에서 동일하게 코코아터치 클래스에서 xib  생성했을 때 인터페이스 빌더가 다르게 생성 되는데 동일하게 진행 하면 되나요?  그리고 content view 도 보이질 않네요 ㅠㅠㅠ

2
성인기 프로필

expand cell 강의 중 uitableviewdatasource 오류가 떠요. 성인기 1달 전

해당 스크린샷 같이 오류가 떠서 안되는데 어떻게 해결해야 할까요 ?ㅠㅠㅠ

1
유주연 프로필

테이블뷰 셀에서 스택뷰를 사용하지 않는 이유가 있나요? 유주연 1달 전

안녕하세요 강의보면서 따라가고 있습니다.

스택뷰를 보니 대부분 UI구성을 스택뷰로 잘 쌓기만하면

될것 같다고 판단했습니다.

근데 테이블뷰 셀을 하는 부분에서 스택뷰를 사용하지 않으시던데

특별한 이유가 있을까요?

1
yshan4329 프로필

네트워크 연결 여부에 따라 팝업을 호출하는 기능 구현 방법 문의 드립니다 yshan4329 3달 전

FirebaseDB 데이터를 가져와서 테이블뷰로 화면에 기능을 구현중인 초보 개발자입니다.

NWPathmornitor로 네트워크 연결 여부를 감지해서, 연결된 네트워크가 없으면, 

강의 내용처럼 화면 뒤 뷰가 보이게 에러 팝업창을 보여주는데까지는 구현을 했는데요. 

현재 2가지 문제점이 있어 해결 방법을 여쭙고 싶습니다. 

case1) 네트워크가 연결되도 데이터를 불러오지 못하고 테이블뷰가 빈상태로 노출 

case2) 네트워크 연결된 상태로 앱을 잘 쓰다가 네트워크를 끄면, 에러팝업창은 정상 노출되지만 이후 몇초 뒤에 앱 크래시 발생 

(case2는 firebase 데이터를 받아오는 함수의 호출 시점으로 해결 가능할 것 같은데 어느 시점에 함수를 호출 해야할까요)

viewWillAppear내에서 계속해서 네트워크 연결 여부를 감지하면 될줄 알았는데 막혀서 여쭤봅니다 

stackoverflow에는 찾아봐도 오래된 자료들만 나오네요 ...  답변 주시면 감사하겠습니다 ㅠㅠ

혹시 이메일이나 다른 방법으로 더 자세하게 질문드려도 괜찮다면 말씀 부탁 드립니다. 

사진과 동영상 추가해서 전달 드리겠습니다.

[네트워크 에러 팝업뷰]

[네트워크 연결 탐지 함수]

[정상적인 경우 메인화면, 네트워크 미연결 상태에서 에러팝업을 닫았을때 메인화면] 

1
신의연 프로필

ios 10이상 버전 질문입니다. 신의연 3달 전

ios 12 이상 버전부터는 show는 무조건 pageSheet으로 . 바뀌네요. 그냥 Modal로 진행해도 되는건가요? show로는 ios12이상 버전부터는 못쓰는 방식인가요?

1
신의연 프로필

scrollview 안에서 view constraints 질문입니다. 신의연 3달 전

보통 view의 constraints를 정해줄 때, 전부 0으로 설정하면 superview의 크기에 따라서 view의 크기(width, height)도 조정 되는데, 왜 scrollview안에서는 따로 width를 설정해주지 않으면 view의 크기가 늘어나지 않나요?

4
Alex Shim 프로필

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

안녕하세요.

좋은 강의 감사드립니다.

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

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

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

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

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

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

1
보루시아 프로필

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

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

1
김승원 프로필

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

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

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

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

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

1
김태완 프로필

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

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

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

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

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

좋은 방법이 있을까요?

 

 

 

 

2
문태부 프로필

알림후 클릭시 이동 문제 문태부 2019.05.24

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 2019.04.23

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 파일명 신동현 2019.02.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
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스