일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리펙터링
- swiftUI
- 리펙토링
- rxswift
- ios
- 스위프트
- map
- uitableview
- Observable
- collectionview
- RxCocoa
- combine
- SWIFT
- Refactoring
- 클린 코드
- tableView
- 애니메이션
- Human interface guide
- UITextView
- 리팩토링
- Xcode
- swift documentation
- Protocol
- UICollectionView
- ribs
- MVVM
- Clean Code
- HIG
- clean architecture
- uiscrollview
- Today
- Total
목록iOS 기본 (SwiftUI) (54)
김종권의 iOS 앱 개발 알아가기
목차) SwiftUI의 기본 - 목차 링크 * @Published, @objecervableObject 개념은 Combine이므로, Combine 관련 이전 포스팅 글 참고 @ObservedObejct 란? observable 객체를 구독하는 property wrapper observable 객체가 변경되면 뷰에 업데이트 시켜주는 기능 내부 코드 @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *) @propertyWrapper @frozen public struct ObservedObject : DynamicProperty where ObjectType : ObservableObject { @dynamicMemberLookup @frozen pub..
목차) SwiftUI의 기본 - 목차 링크 State 란? SwiftUI에 의해 관리되는 property wrapper 타입 struct ContentView: View { @State var age = 20 // Value, set: @escaping (Value, Transaction) -> Void) public static func constant(_ value: Value) -> Binding public var wrappedValue: Value { get nonmutating set } public var projectedValue: Binding { get } public init(projectedValue: Binding) public subscript(dynamicMember keyPa..
목차) SwiftUI의 기본 - 목차 링크 * cf) UIKit에서 SwiftUI 사용 방법은 이전 포스팅 글 (UIHostingController) 참고 SwiftUI에서 UIKit 사용 방법 UIView 관련 사용 - UIViewRepresentable UIViewController 관련 사용 - UIViewControllerRepresentable UIViewRepresentable 사용 방법 SwiftUI에서 UIKit에 있는 뷰를 사용할때 이용 makeUIView에 UIKit 인스턴스를 리턴 updateUIView은 SwiftUI에서 뷰가 업데이트 될때 불리는 메소드로, 이곳에서 delegate와 같은 처리 public protocol UIViewRepresentable : View where ..
목차) SwiftUI의 기본 - 목차 링크 cf) SwiftUI에서 UIKit 사용 방법은 이전 포스팅 글 (UIViewRepresentable) 참고 UIHostingController 란? UIKit에서 SwiftUI 뷰를 사용하고 싶을때 사용 UIHostingController 코드를 보면 UIViewController를 상속받고 있는 형태 동시에 SwiftUI의 View형태를 준수 UIKit에서 SwiftUI 사용 원리 SwiftUI 뷰를 생성 HostingController를 만들고, 이곳의 제네릭스 타입에 위에서 생성한 뷰로 지정 (SwiftUI를 UIKit에서 접근 할 수 있도록 wrapping하는 작업) UIKit에서 HostingController를 불러와서 사용 open class UI..
목차) SwiftUI의 기본 - 목차 링크 coordinateSpace(name:) 란? “특정 뷰의 좌표 공간”에 이름을 할당하여, 다른쪽에서 points와 size같은 값을 적용시킬때 이 이름으로 접근 할 수 있게하는 하나의 namespace 역할 메소드 시그니쳐 View의 Extension하여 메소드가 정의되므로, 어떤 뷰에서든 사용이 가능 이름을 입력하면 View를 리턴 extension View { @inlinable public func coordinateSpace(name: T) -> some View where T : Hashable } coordinateSpace(name:) 사용 방법 애플 예제) VStack안에 overlay로 circle을 두고, 이 circle을 움직임이 VStac..
목차) SwiftUI의 기본 - 목차 링크 *초록색 뷰를 파란색뷰 오른쪽 하단에 위치시키는 방법? -> 아래에서 알아볼 GeomettryReader를 사용 GeometryReader, GeometryProxy 란? 뷰의 Container라고 생각하면 되고, 인수로 사용할 수 있는 GeometryProxy가 존재 GeometryProxy란 좌표와 사이즈 값을 가지고 있는 역할 즉, 컨테이너뷰에 관련하여 좌표를 구하고 싶을때나 컨테이너뷰의 크기를 알고 싶은 경우, proxy로 사용 struct ContentView: View { var body: some View { VStack { Text("Jake iOS 앱 개발 알아가기") GeometryReader { proxy in } } } } GeometryP..
목차) SwiftUI의 기본 - 목차 링크 Gradients (Linear, Angular, Radial) 이전 포스팅 글, Swift에서 알아본 CAGradientLayer와 개념은 동일하며, SwiftUI에서는 각 속성이 더 직관적인 이름으로 변경 axial(linear) -> Linear radial(circle) -> Radial conic(sweep) -> Angular LinearGradient 요소 색상 입력 - colors 시작 지점 - startPoint 종료 지점 - endPoint @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *) @frozen public struct LinearGradient : ShapeStyle, Vie..
목차) SwiftUI의 기본 - 목차 링크 ImagePaint 란? ImagePaint는 이미지를 격자 무늬로 여러개 그릴때 사용하며, ShapeStyle를 준수하고 있는 형태 @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *) @frozen public struct ImagePaint : ShapeStyle { public var image: Image public var sourceRect: CGRect public var scale: CGFloat public init(image: Image, sourceRect: CGRect = CGRect(x: 0, y: 0, width: 1, height: 1), scale: CGFloat = 1) } ..