iOS/Xcode + Storyboard
-
Navigation Controller + SeguesiOS/Xcode + Storyboard 2022. 7. 5. 20:44
앱의 첫 화면에 해당하는 view controller 설정 화살표를 옮기거나 특정 view controller에서 Is Initial View Controller를 체크하면 된다. 버튼을 통하여 segue 설정 버튼을 클릭하면 무조건적으로 다른 화면으로 이동하는 segue를 설정하고자 하면, 버튼을 선택한 상황에서 control 키를 누르고 이동하고자 하는 view controller로 드래그 하면 된다. navigation stack 설정 navigation stack 상에서 최상위 화면을 선택하고 navigation controller로 embed하자. 그러면 최상위 화면을 비롯하여 modal로 처리되었던 하위 화면들이 navigation bar를 가질 것이다. 앱을 실행하면서 하위 화면들로 이동하면..
-
UITextFieldiOS/Xcode + Storyboard 2022. 3. 15. 22:01
UITextField 사용자에게 input을 받기 위해 사용하는 view이다. 관련 속성 attribute inspector의 Text Input Traits에서 다음과 같이 다양한 설정을 할 수 있다. 관련 이벤트 설정 UITextField에서 입력이 끝났을 때 키보드를 사라지게 하거나, 아무것도 입력하지 않은 상황에서 return key를 누르면 키보드가 사라지지 않게 하는 등의 이벤트를 설정해야 할 것이다. 이러한 경우 해당 view controller가 UITextDelegate 프로토콜을 준수하도록 하고 이벤트를 발생시키는 UITextField의 delegate 값을 해당 view controller로 설정하면 된다. class WeatherViewController: UIViewControll..
-
Dark mode & Vector imageiOS/Xcode + Storyboard 2022. 3. 15. 21:09
Dark mode 전환 interface builder를 dark mode로 전환하려면 아래 사진에서 빨간색으로 표시한 버튼을 누르면 된다. Color Set Tint가 Label Color 혹은 여려 System color 중 하나로 선택되었을 경우 dark mode로 전환하면 자동으로 색이 바뀐다. 그러나 나머지 색의 경우 그렇지 않다. 아래 두 사진은 label color의 light mode와 dark mode에서의 색상이다. light mode, dark mode에 각각 커스텀 색상을 부여하고 싶을 때 방법이 있다. 우선 사용하고자 하는 두 색상을 팔래트에 저장한다. 해당 색상으로 설정한 상태에서 색상을 오른쪽으로 드래그하면 된다. 그 다음 Assets에서 오른쪽 마우스를 클릭하고 New Col..
-
Multi-screen appiOS/Xcode + Storyboard 2022. 3. 12. 23:36
Scene과 View Controller의 관계 각 Scene이 앱에서 보여지기 위해서는 자신의 view controller가 있어야 한다. 아래 사진의 경우 첫번째 화면의 경우 기본적으로 제공되는 view controller인 ViewController를 가지고 있지만, 두번째 화면은 그렇지가 않다. 따라서 두번째 화면은 현재로서는 앱에서 보여질 수 없다. 두번째 화면 연결하기 방법 1: Swift 코드만으로 생성 아래 코드와 같이 UIViewController 클래스를 상속받는 새로운 클래스를 만들고, background 색상, subview 추가하는 코드 등을 작성한다. import UIKit class SecondViewController: UIViewController { var bmiValue..
-
Auto LayoutiOS/Xcode + Storyboard 2022. 3. 11. 11:55
Constraint 설정 pinning 설정 editor 영역 우측 하단의 5개 버튼 중 3번째 버튼을 누르면 pinning 관련 constraint를 설정할 수 있다. 점선이 아닌 실선으로 표시된 부분만 적용되므로 주의하자. 그 이후 document outline에서 constraint들을 확인할 수 있다. 그 다음 특정 constraint를 선택한 다음 attirbute inspector에서 constraint 내용을 수정할 수 있다. Safe Area에 대한 constraint로 하면 화면 전체를 배경이 커버하지 못하기 때문에 superview로 바꾼다. 다른 component를 기준으로 한 constraint도 생성할 수 있다. margin에 대해서도 설정이 가능하다. alignment 설정 시작..
-
UI와 코드 연결iOS/Xcode + Storyboard 2022. 3. 10. 18:04
image view image view의 content mode image view에서 이미지가 들어가는 방식을 설정하기 위해 사용하는 속성이다. 주로 아래의 3가지 값을 사용한다. a. Aspect Fit: 가로/세로 비율을 유지하고 이미지 전체가 image view 안에서 보이도록 한다. b. Scale to Fit: 가로/세로 비율을 변형하여 이미지가 image view를 가득 채우도록 한다. c. Aspect Fill: 가로/세로 비율을 유지하면서 이미지가 image view를 가득 채우도록 한다. image view 복제 option 키를 누른 상태에서 해당 image view를 drag & drop하면 된다. 아래와 같이 2개 이상의 image view를 동시에 복붙하는 것도 가능하다. UI ..
-
프로젝트 기본iOS/Xcode + Storyboard 2022. 3. 10. 12:00
프로젝트 생성 앱이 실행될 OS(iOS, macOS 등)와 앱의 종류를 선택한 후에는 다음과 같은 창이 나온다. a. Product Name: 사용자들이 보는 앱 이름 b. Team: 애플 개발자 계정 중 하나를 선택해야 한다. c. Organization Identifier: 앱을 만드는 기관들을 구분하기 위한 식별자로, 보통 도메인 이름을 역순으로 적는다. d. Bundle Identifier: Organization Idnetifier와 Product Name을0 합친 것으로, 각 앱을 식별하는 수단이다. 각 앱은 unique한 Bundle Identifier를 가져야 한다. e. Interface: 인터페이스의 종류를 정한다. Storyboard, SwiftUI 중 하나를 선택한다. f. Lang..