일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- AI
- swift
- JPA
- 네트워크
- IOS
- 스프링
- 인공지능
- 아이패드다이어리
- MySQL
- 오라클
- Spring
- 스프링부트 웹 소켓
- Xcode
- 데이터베이스
- DBMS
- 스프링부트
- 프로그래밍언어론
- 리눅스
- 티스토리챌린지
- 소켓
- 오블완
- jenkins
- javascript
- springboot
- sql
- libasm
- 42seoul
- CI
- 다이어리
- CD
- Today
- Total
목록프로그래밍 언어/iOS (10)
Hi yoahn 개발블로그

1. Cocoa Touch Class vs Swift File 차이 Xcode에서 프로젝트를 생성한 뒤 파일을 만들 때 어떤 경우에는 Cocoa Touch class 를 선택해서 파일을 만들고 어떤 경우에는 Swift File 을 선택해서 만드는 게 있었는데 무슨 차이인지 헷갈려서 정리해둔다. 사실 생각보다 간단하고 별거 없음.. New File - Cocoa Touch Class 를 선택하면 아래와 같은 창이 나온다. 중간에 있는 Subclass of 레이블 옆의 선택 박스에서 UI 프레임워크, Xcode에서 제공되는 iOS를 위한 클래스들 중, 상속받을 클래스를 선택하여 파일을 생성하면 선택한 클래스를 상속한 상태의 코드를 바로 보여준다. Swift File 은 그냥 스위프트 언어를 사용하기 위한 파..
1. CustomStringConvertible 프로토콜 클래스에 이 프로토콜을 추가하면 클래스 객체를 출력할 때 지정된 형식에 맞게 출력된다. https://jiyeonlab.tistory.com/24 [Swift] CustomStringConvertible 애플 공식 문서에 보면, CustomStringConvertible은 텍스트적인 표현을 커스터마이즈하는 타입이라고 적혀있다. 공식 문서에 나온 예시를 보면, CustomStringConvertible 프로토콜을 정의하지 않고, 그냥 구조 jiyeonlab.tistory.com 2. 시스템 로그 통합 로깅 시스템(unified logging system) 모든 level의 시스템에서 메시징을 캡쳐할 수 있는 효율적인 단일 고성능 API 제공 이 시스..

1. StackView 에 UIImageView가 붙은 UIView 를 붙이면 제거가 제대로 안되는 문제 카드게임 앱을 만들다가, 게임참가자별 나눠준 카드를 화면에 출력하는 과정에서 버튼 아래의 것들은 하나의 스택뷰 vertical 로 넣고, 카드 이미지는 하나의 UIView에 넣고 스택에 넣었었는데 화면이 새로 바뀌는 과정에서 기존 뷰를 stack.removefromSuperView를 통해 제거하고 stack 에는 새로운 객체를 생성했는데 이미지가 바뀌는 것이 아니라 계속 새로 추가되는 문제가 있었다. 그래서 UIView에 넣었던 것을 UIStackView로 바꿔서 넣었더니 잘 동작했다! 이유는 잘 모르겠다. (혹시 아시는 분은 댓글로 알려주세요!!!) 2. 최상위 스택뷰의 제약조건 설정하기 코드로 설..

포커게임 앱 만들기를 하면서 레이아웃 잡는 과정이 오래걸렸는데 해결하기까지의 과정을 적어본다. 1. origin 과 frame, bounds의 차이 origin - 절대 위치 frame - 뷰의 좌표가 부모 뷰를 기준으로 결정됨 - 뷰가 회전하면 그 뷰를 감싸고 있는 frame은 회전하지 않고 그에 맞춰 크기와 좌표가 바뀜 bounds - 본인의 좌표계에 의해 위치가 정해지기 때문에 항상 (0, 0) 을 유지 - bounds는 뷰의 width와 height 를 알기 적합하다 - 뷰가 회전해도 회전된 뷰의 width나 height는 변하지 않음 2. SafeArea 확인 let topPadding = UIApplication.shared.windows[0].safeAreaInsets.top let bott..

study 를 진행하면서 ImageView의 레이아웃을 잡아야 했는데, 위치를 잡는 과정에서 iPhone X 이상 모델에서 노치로 인한 SafeArea 위치를 파악하여 safeArea에 view를 잡는 과정이 필요했는데, 드디어 알아내서 기록해두려고 한다 먼저 Swift - iOS 13.0 이상 let window = UIApplication.shared.windows[0] let topPadding = window.safeAreaInsets.top let bottomPadding = windows.safeAreaInsets.bottom topPadding 은 위 사진에서 상단에 위치한 녹색 영역의 높이를 나타내고, bottomPadding 은 위의 사진에서 하단에 위치한 녹색 영역의 height 크기를..

이미지 크기를 조정하기 위해 resize 하는 방법도 있고, 이미지뷰의 속성을 조정하여 간단하게 조정하는 방법이 있다. 이미지를 resize 하는 방법은 복잡해서 UIImageView 의 옵션을 조정해서 이미지 조정하는 방법을 사용했다 UIImageView 를 누르고 Attributes Inspector 탭을 눌러서 View의 Content 모드 조정 1. Scale To Fill - 비율 무시 - ImageView 의 Width와 Height에 이미지를 강제로 늘려서 맞춤 2. Aspect Fit - 원본 비율 유지 - ImageView 밖으로 이미지가 나가지 않는 선에서 최대 크기 - 비율이 맞지 않는 경우 내부에 여백 생김 3. Aspect Fill - 원본 비율 유지, 여백 없이 딱 맞게 사이즈 ..

1. View Controller의 생명주기 1 ) viewDidLoad 뷰가 로드 된 상태 - loadView()로 뷰의 컨트롤러가 메모리에 로드되고 난 후에 호출됨 이 메소드는 뷰의 로딩이 완료되었을 때 시스템에 의해 자동으로 호출되기때문에 일반적으로 리소스를 초기화하거나 초기 화면을 구성하는 용도로 사용 화면이 처음 만들어질 때 한 번만 실행됨 -> 처음 한 번만 실행되야 하는 초기화 코드가 있을 경우 이 메소드 내부에 작성 2 ) viewWillAppear 뷰가 나타날 예정 - 뷰가 이제 나타날 거라는 신호를 컨트롤러에게 알리는 역할 다른 뷰로 갔다가 돌아오는 상황에 할 처리를 이 메소드에서 하면 됨 3 ) viewDidAppear 뷰가 나타난 상태 - 뷰가 나타났다는 것을 컨트롤러에게 알리는 역..

jiyeonlab.tistory.com/8 [iOS] Segue 연결 방법 [iOS] Segue 연결 Segue 란 iOS에서 여러 ViewController 사이의 전환 시에 사용하는 객체이다. 나는 보통 인터페이스 빌더에서 직접 연결하는 방법을 썼었다. 이렇게 하면 ViewController 간의 연결관계를 직 jiyeonlab.tistory.com 스토리보드에서 Ctrl 을 누르고 바로 연결하는 직관적인 방법도 있지만, 코드를 사용하는 방법도 있다. Segue의 Identifier 설정 후, 코드에서 performSegue() 1. 스토리보드에서 Segue 연결 YellowViewController 에서 연결 2. Segue 화살표를 누르고, Inspector 탭에서 Segue의 Identifier..
1. UILabel 클래스 속성 .textAlignment .left / .right / .center .justified : 행 맞추기 .natural : 지역화 기준으로 정렬 .baselineAdjustment .alignCenters : 글자가 View Bound 세로 기준으로 중앙 정렬 .alignBaselines : 글자의 아래부분이 정해진 위치 기준으로 정렬 .none : 글자가 View Bound 세로 기준으로 좌상단 정렬 (default) .numberOfLines Label 에서 출력가능한 line 수를 정합니다. 0 은 제한이 없음을 표시합니다. AttributedString 의 경우도 마찬가지로 적용이됩니다. .adjustFontSizeToFitWidth YES 로 설정한 경우, La..

1. UITabBarController 화면에 보여줄 하위ViewController 를 결정하는 셀력션을 가진 인터페이스가 있고 , radio-style 을 띄고 있다. 각각의 tab 은 CustomViewController 와 관련되어 있고, tab 이 선택되면 해당 ViewController 의 rootViewController 를 화면에 그린다. 각각의 tab 에 관련된 인터페이스는 다른 tab 의 인터페이스와는 유사할 필요가 없다. TabBarViewController 의 TabBar 에 직접 접근하지는 않아야한다. 만약 설정하고 싶다면, rootView 의 viewControllers 프로퍼티 에 할당해서 사용해야한다. UITabItem 이 6개가 넘어가게 되면 처음 4개와 기타🎸항목을 표시한다..