iOS
-
[iOS] UILabel의 lineBreakMode 줄바꿈 속성iOS/Swift 2023. 6. 6. 18:27
https://developer.apple.com/documentation/uikit/uilabel/1620525-linebreakmode lineBreakMode | Apple Developer Documentation The technique for wrapping and truncating the label’s text. developer.apple.com https://developer.apple.com/documentation/uikit/nslinebreakmode NSLineBreakMode | Apple Developer Documentation Constants that specify what happens when a line is too long for a container. devel..
-
[iOS] MVC to MVVM 디자인(아키텍쳐) 패턴iOS/Swift 2023. 6. 6. 17:53
🏁 MVC M : Model V : View C : Controller UI관련 코드와 로직관련 코드가 ViewController안에 존재. ViewController가 무거워짐 🏁 MVVM M : Model UI에 독립적. 캡슐화. 모델 변경이 있으면 뷰모델에게 알림 V : View MVC에서 ViewController역할. UI코드 담당. 뷰모델을 참조한다. VM : ViewModel 로직이 뷰모델에 존재. 데이터 상태와 비즈니스 로직을 가짐. 뷰모델은 뷰와 모델을 엮어줌. (뷰와 모델은 서로 직접적으로 참조X) 기존의 뷰컨에서 갖고있던 데이터를 바인딩해서 처리(뷰와 뷰모델이 바인딩되어있음) * RxSwift, RxCocoa, SwiftUI, Combine으로 MVVM을 사용한다.
-
[Swift 문법] 접근제어 (Access Control)iOS/Swift 2022. 8. 7. 18:41
5가지 접근레벨 - Open (최저 제한, 가장 높은 접근수준) - Public - Internal - File-private - Private (최대 제한, 가장 낮은 접근수준) Open / Public 모듈의 모든 소스 파일 내에서 사용 가능 정의한 모듈을 가져오는 다른 모듈의 소스파일에서도 사용가능 - 프레임워크에 공용 인터페이스 지정 시 사용 Internal (생략 시 기본) 해당 모듈의 모든 소스 파일 내에서 사용되지만, 해당 모듈 외부의 소스파일에서는 사용되지 않게 함 - 앱이나 프레임워크의 내부 구조를 정의할 때 사용 Fileprivate 해당 소스 파일 내에서만 사용 가능 - 특정 기능의 구현 세부 정보가 파일 전체에서 사용되는 경우 해당 세부 정보를 숨길 때 사용 Private 기능 정의..
-
[SwiftUI] 기본구조와 키워드iOS/Swift 2022. 7. 24. 18:43
📔 SwiftUI - import SwiftUI swiftui 프레임워크를 가져온다. (framework: 여러 공유자원을 단일 패키지 형태로 담고 있는 디렉토리, 라이브러리와 달리 리소스 포함 가능) - struct ContentView: View View를 상속받는 ContentView 구조체가 선언되어있다. 안에는 body가 필수로 있어야 한다. - var body : some View View타입으로 선언되어있다. body 변수는 최상위 뷰의 역할을 한다. - ContentView_Preview Xcode 11 버전 이후 시뮬레이터 없이도 화면을 실시간으로 미리볼 수 있는 Canvas 기능이 생겼다. 실제 앱에는 적용되지 않고, 위의 Canvas기능을 위한 미리보기 레이아웃이다. 📔 some 키..
-
[SwiftUI] HStack영역 터치 가능하게 하기iOS/Swift 2022. 7. 10. 03:42
1) 문제 : HStack 안에 글 넣고 도형넣고 했는데 전체가 클릭되길 바랬지만 onTaGesture을 그냥 넣으면 전체 영역이 아닌 글씨나 도형을 클릭할 때만 인식되는 문제 발생 2) 참고 사진 3) 해결법 : HStack에 .contentShape(Rectangle()) 처리해주기 HStack { // ... } .contentShape(Rectangle()) .onTapGesture { print("clicked") } 4) 참고글 SwiftUI touch영역 풀로 잡기 HStack 영역을 터치했을 때 액션을 구현하기 위해 HStack 안에 Image랑 Text를 넣고 HStack자체에 onTapGesture를 넣어주었다.근데 HStack 영역 전체가 아닌 Image랑 Text를 터치했을 때에만 ..
-
[Swift] 커스텀 가능한 폰트 모두 출력iOS/Swift 2022. 6. 29. 20:36
에셋에 추가한 폰트 적용안될때 확인해야할 것들 1. Target 확인 (에셋 창에서 오른쪽 인스펙터창으로 프로젝트에 타겟 체크 되어있는지 확인) 2. Font이름 확인 (아래 코드로 확인) for fontFamily in UIFont.familyNames { for fontName in UIFont.fontNames(forFamilyName: fontFamily) { print(fontName) } } 실행 뒤 출력창에서 폰트 모두 확인 가능. 내가 사용할 폰트 이름 몇글자로 검색해서 풀네임이 어떻게 되어있는지 확인하고 철자틀리지않게 폰트를 적용하면 된다.
-