destructive
default
cancel
스타일과 텍스트는 상관없다. 개발자가 의도에 맞게 스타일을 사용
Alert
Action Sheet
UIMenuController (영역 드래그했을 때 복사, 붙여넣기 뜨는거다)
UIDocumentPicker ViewController(파일에서 선택)
UIImagePicker ViewController
UIFontPicker ViewController (iOS 13부터 생겼다, 폰트를 선택할 수 있다.)
UIColorPicker ViewController (iOS 14부터 생겼다)
이외에 다양한 뷰컨트롤러가 존재한다.
shift + command + 0
사진처럼 label안에 어떤 변수들이 사용되는지
UIButton은 UIControl을 상속받고 있다.
배운걸 확인하는 느낌으로 공식문서랑 친해지자
Cocoa Touch Framework
Media
CoreService
CoreOS
아래로 갈수록 접근하기 어렵고 잘 접근하지 않는다
우리는 Cocoa touch framework기반으로 앱을 만들고
UIKIt을 주로 사용한다.
서비스에서 GPS나 센서기능을 사용할 때는 어떻게 하나요?
Action Sheet는 Alert와 달리 제목과 내용을 거의 사용하지 않는다. 어떻게 없앨까?
Action Sheet, Alert에 다른 폰트, 컬러는 어떻게 적용하나요?
iOS에서 쓰던 alert 코드를 iPad에서 그냥 쓰면 iPad에서 앱이 꺼짐
뷰객체 여러개에 액션을 연결해서 중복되는 기능들을 하는 button들에 기능을 한번에 부여할 수 있다.
다음 경우에는, type을 UIButton으로 해놨기 때문에 gesture에는 연결 못함
type을 Any로 수정하면 UI Gesture Recognizer도 사용가능하다. (Any가 필요한 경우)
Any를 사용할 경우 단점
UIButton으로 설정 시, sender. 으로 버튼의 요소에 간편하게 접근이 가능하다
Any로 설정 시는 어떤 타입이든 올 수 있어 매개변수로 요소에 접근이 불가하다.
iOS 15 전후로 나뉜다
iOS 15 이전
iOS 15 이후
gray, plain, tint등 다양한 스타일을 제공한다
Configuration은 15이후에 등장했다.
iOS 13 전후
Not Running
Foreground
Active
Inactive
Background
Suspended
기존에는 AppDelegate에서 앱의 생명주기를 다 관리했으나 이제 하나의 화면에 2가지 이상의 앱이 뜨는 상황이 발생하여 UI LifeCycle을 따로 관리할 필요성이 생겼다
iOS 14 부터는 전화오면 full스크린으로 뜨지 않고 화면 상단에 뜬다.
pip모드로 유튜브 영상을 보고 있을 때 보고 있던 앱은
시리 버튼을 눌러서 시리가 떴을 때는
버전을 iOS 12.4로 낮춰보자
어떻게 대응할까?
다음과 같이 @available을 사용해서 대응할 수 있다.
iOS 14.0부터 지원되는 datePicker의 기능에 대응해보자
layer에 cornerRadius를 적용했을 때, 이미지 뷰는 둥글게 깎이나 label은 깎이지 않고 있다.
label에 clipsToBounds를 true로 설정하면 깎인다.
view의 layer는 테두리이다.
Clips to Bounds는 테두리를 제외한 영역을 버릴지 말지, 결정한다
왜 어떤건 clipsToBounds해야 깎이고 어떤 건 안써도 깎이나요?
- 이는 뷰 객체 별로, 기본 설정이 다르기 때문이고 굳이 외우진 않는다.
그럼 cornerRadius와 shadow를 같이 줘야 할 때는 어떻게 할까?
시뮬레이터 → 가짜기기 → X None으로 설정해도 무방하다
기기 → 진짜기기 → Team 필수
출시되지 않은 앱을 실제 기기에서 빌드하려면
hidden일 경우, 자기 자리는 차지하고 안보이는 것이다
카카오톡에서 단톡방 사람 수, 핀 기호 같은 건 하나가 없어지면 밀려서 그 자리를 채운다 어떻게 할까?
Alpha
부모 뷰의 alpha를 바꾸면 포함된 자식 뷰도 다 투명해진다
Opacity
하위 뷰에 영향없이 투명도를 조절할 수 있다.
Connect Via network
Device Conditions
Simulator
6월 16일 이렇게 날짜를 표현을 하고 싶을 때
형식: yyyy-MM-dd hh:mm:ss
mm 은 분임, MM과 구별 주의한다^^
다음과 같이 ?로 설정할 수 있는데
사용하는 모든 곳에서 옵셔널 처리를 해줘야 한다.
그래서 쓰기 쉽게 Xcode에서 기본적으로 기본은 !로 설정되어있다.
background100ImageView가 nil이니?
nil이면 뒤에 코드가 실행되지 않음 → 앱 꺼지지 않는다