iOS 24

[iOS] 콘텐츠 뷰 컨트롤러, 컨테이너 뷰 컨트롤러

콘텐츠 뷰 컨트롤러콘텐츠 뷰 컨트롤러는 이미지나 텍스트, HTML페이지 등 앱의 화면에 표현할 콘텐츠를 관리하는 컨트롤러입니다. 이를 위해 콘텐츠 뷰 컨트롤러는 화면 전체 사이즈의 루트 뷰를 내장하고 있으며, 이 뷰 위에 각종 콘텐츠를 얹어 화면에 출력합니다. 뷰 컨트롤러를 정의하는 기본 클래스는 UiViewController입니다. UiViewController를 상속받아 새로운 커스텀 뷰 컨트롤러를 정의하고, 스토리보드에 구현된 화면과 연결합니다. 이 때 커스텀 뷰 컨트롤러에 작성한 커스텀 코드는 스토리보드의 화면을 제어하여 우리가 원하는 대로 앱이 동작할 수 있도록 해줍니다. 커스텀 뷰 컨트롤러를 정의할 때에는 기본 화면 구조를 어떻게 설계할 것인가에 따라 상속받을 부모 클래스를 상황에 맞게 적절히..

iOS 2018.04.26

[iOS] 뷰 - Frame, Bounds 속성

frameframe속성은 뷰 자신의 위치나 크기 등 영역을 설정하는 경우에 사용합니다. (frame의 좌표 기준은 슈퍼 뷰입니다.) boundsbounds속성은 뷰의 내부에 있는 객체와의 관계에서 사용합니다. (bounds의 좌표 기준은 자기 자신입니다.) 주로 뷰 내부에 서브 뷰를 추가하기 위해 (0,0)의 원점 좌표가 필요할 때, 혹은 뷰 내에서 터치 이벤트가 발생한 위치를 판별해야 할 때 사용합니다. 정리 슈퍼 뷰가 서브 뷰에게 제공하는 좌표는 bounds 속성의 좌표이고, 서브 뷰는 이 좌표를 기준으로 자신의 frame속성을 설정하는 것. 참고 : 꼼꼼한 재은씨의 스위프트 실전편잘못된 부분 있으면 댓글 남겨주시면 감사하겠습니다.

iOS 2018.04.26

[iOS] Label - 줄바꿈 속성(Line Break Option)

Character Wrap개별 문자 단위로 줄바꿈합니다. 하나의 단어가 완전히 끝나지 않았어도 라인의 끝에 도착하면 다음 라인으로 줄을 바꾸어 나머지 문자를 계속 출력합니다. 물론 Line 속성에서 설정된 라인 수를 넘어서면 나머지 텍스트는 표시하지 않습니다. Word WrapCharacter Wrap과 비슷하지만, 개별 문자가 아니라 단어 기준으로 줄바꿈합니다. 즉, 단어 중간을 끊어 줄바꿈하지 않는다는 뜻입니다. 이 때문에 단어 전체가 들어갈 공간이 충분하지 않으면 남은 공간이 있더라도 다음 라인으로 줄바꿈하는 특성이 있습니다. Truncate Head콘텐츠 출력에 필요한 라인 수보다 레이블에 설정된 Line 속성이 적을 경우, 마지막 라인의 첫 머리 텍스트 일부를 말줄임표로 처리합니다.즉, 앞부분을..

iOS 2018.04.15

[iOS] 뷰 컨트롤러 생명주기 (ViewController Lifecycle)

# 뷰의 상태 변화 메소드뷰가 나타나거나 사라지는 등 뷰가 화면에 보이는 상태가 변화할때 호출되는 메서드입니다. 각 메서드가 호출 될때의 시점과 수행하면 좋은 작업을 확인해보세요. func viewDidLoad() 뷰 계층이 메모리에 로드된 직후 호출되는 메서드뷰의 추가적인 초기화 작업을 하기 좋은 시점메모리에 처음 로딩 될때 1회 호출되는 메서드로, 메모리 경고로 뷰가 사라지지 않는 이상 다시 호출되지 않음func viewWillAppear(_ animated: Bool)뷰가 뷰 계층에 추가되고 화면이 표시되기 직전에 호출되는 메서드뷰의 추가적인 초기화 작업을 하기 좋은 시점다른 뷰로 이동했다가 되돌아오면 재호출되는 메서드로, 화면이 나타날때마다 수행해야하는 작업을 하기 좋은 시점func viewDid..

iOS 2018.04.06