[osxdev]2.개선된 interface builder
DESCRIPTION
OSXDEV 오픈세미나 - WWDC 따라잡기TRANSCRIPT
InterfaceBuilder ReturnsLiveness & Adaptability
CODER ’S HIGH Pi lotPlantI
@lingostar학교나 학원등지에서 강의를 일삼으며 살아가는 개발자
OSXDev
CODER ’S HIGH Pi lotPlantI
Liveness Adaptability Power & Parity
CODER ’S HIGH Pi lotPlantI
CODER ’S HIGH Pi lotPlantI
Liveness
CODER ’S HIGH Pi lotPlantI
• 인터페이스 빌더에서 Live Preview를 보고 싶은 뷰
• Objective-C : IB_DESIGNABLE
@IBDesignable
CODER ’S HIGH Pi lotPlantI
Live View 만드는 법
framework를 만든다
(Swift로) class를 만든다
@IBDesignable
Designable로 설정
IB에서 커스텀 클래스로 설정
CODER ’S HIGH Pi lotPlantI
Demo
CODER ’S HIGH Pi lotPlantI
• Runtime Attribute 설정과 동일
• 프라퍼티 별로 설정
• @Designable과 상관없이 사용
@IBInspectable
CODER ’S HIGH Pi lotPlantI
• PlaceHolder 이미지가 필요하다
• Framework안에 넣어서 배포하고 싶지는 않다
prepareForInterfaceBuilder ( )
CODER ’S HIGH Pi lotPlantI
Adaptability
CODER ’S HIGH Pi lotPlantI
• Universal 프로젝트에서 단일 스토리보드 사용
• Xcode 6 에서 지원하는 iOS 8 기능
• 정확한 포인트의 사이즈보다 ‘규모’가 중요하지 않나?
• Compact 가 작은 사이즈, Regular가 큰 사이즈
• 코딩의 유연성 & 유지보수의 편리성
Size Class
CODER ’S HIGH Pi lotPlantI
30 30
52 52
Compact
Regular
가로
세로
Compact Regular
CODER ’S HIGH Pi lotPlantI
30 30
52 52
Compact
Regular
가로
세로
Compact Regular
Any
Any
CODER ’S HIGH Pi lotPlantI
30
52 52
Compact
Regular
가로
세로
Compact Regular
Any
Any
CODER ’S HIGH Pi lotPlantI
30
52
Compact
Regular
가로
세로
Compact Regular
Any
Any
CODER ’S HIGH Pi lotPlantI
30
52
Compact
Regular
가로
세로
Compact Regular
Any
Any
CODER ’S HIGH Pi lotPlantI
Demo
CODER ’S HIGH Pi lotPlantI
• Show (Push): func showViewController( )
• Show Detail (Replace): func showDetailViewController( )
• Present Modally : UIPresentationController를 이용
• Present As PopOver : UIPopOverPresentationController를 이용
새로운 Adaptive 세그웨이
CODER ’S HIGH Pi lotPlantI
Power & Parity
CODER ’S HIGH Pi lotPlantI
z
CODER ’S HIGH Pi lotPlantI
CODER ’S HIGH Pi lotPlantI
View Debugging