그냥 삽질 기록.. 내가 해결한 방법이 정답이 아닐 수 있음. 삽질은 엄청 했지만 그냥 짧게(???) 좋은 경험 한 것 같아서 남겨보려고 한다. 위와같은 뷰를 만들었어야 했는데, 딱 봤을 때 응 그냥 그라데이션이야~하고 CAGradientLayer이용하면 되지 않을까?? 싶었다. 대충 예전에 쓴 iOS ) CAGradientLayer 글을 보면서 작업을 시작했음. 나는 View는 UIKit으로 만드는게 편해서 UIKit으로 만들기 시작했다! 딴 이야기지만 중간에 코드 그냥 이미지로 넣은거 보고 진짜 또라인가?? 싶었다. 아니 이걸 왜 이미지로 넣으세요. 하~~~~ 이미지로 넣어서 미안합니다. [첫번째 시도] CAGradientLayer만들고 이것저것 해보는데, 나는 첫번째 그림처럼 경계선이 진짜 다 풀어..
안녕하세요 :) Zedd입니다. 오늘은 Custom View Modifier만들기 및...이걸로 버전 분기 꼼수.. # 목적 이번 글에서는 1. View Modifier가 어떤것인지 2. Custom View Modifier를 만드는 방법 3. (번외) Custom View Modifier를 사용한 버전 분기 (꼼수).. 를 다룬다. # View Modifier SwiftUI에는 ViewModifier라는 프로토콜이 존재한다. 이 modifier를 적용하면 View의 원래 값의 다른 버전을 생성하게 된다. 어렵게 생각할 필요 없이, View Modifier는 그냥 우리가 늘상 쓰는 struct ContentView: View { var body: some View { Text("Zedd") .font(...
안녕하세요 :) Zedd입니다. 오늘은 ViewBuilder에 대해 공부! # ViewBuilder 정의 : Closure에서 View를 구성하는 custom parameter attribute 뭔소린지 모르겠지만 "Closure에서 (Child) View를 구성한다"만 알면 된다. @ViewBuilder 사용법을 알아보자 # 사용 1. @ViewBuiler Prameter HStack, VStack은 많이 쓰고 봤을것이다. var body: some View { HStack { Text("Zedd") Text("Zedd") } } 보통 이런식으로 쓸텐데, 저 HStack을 보면 Closure안에!!!!!! View들을 넣어주고 있다. HStack의 생성자는 다음과 같이 생겼는데, @inlinable p..
안녕하세요 :) Zedd입니다. 오늘은 그냥 기록용. 제목은 SwiftUI로 했지만 SwiftUI에만 국한된 이야기는 아닐 수 있겠다. UIKit으론 안해봤음ㅋ.. # 문제 struct ContentView: View { @State var selection: Int var arr = ["Zedd","Alan Walker", "David Guetta", "Avicii", "Marshmello", "Steve Aoki", "R3HAB", "Armin van Buuren", "Skrillex", "Illenium", "The Chainsmokers", "Don Diablo", "Afrojack", "Tiesto", "KSHMR", "DJ Snake", "Kygo", "Galantis", "Major Laze..
안녕하세요 :) Zedd입니다. 오늘 Xcode 13.2 Beta가 나왔는데요! 새로운 기능으로 Swift Playgrounds App이 나와서 간단히 살펴보려고 합니다. # 프로젝트 생성 ✔️ Xcode 13.2 Beta 다운 받기 ✔️ Swift Playgrounds App 클릭 🤔 : 엥 프로젝트 폴더 어디갔지? 🧑💻 : Swift Playgrounds App 은 .xcodeproj가 만들어지지 않습니다! .swiftpm 확장자로 파일 단 한개가 만들어집니다. ✔️ 프로젝트 생성 후 화면 ✔️ ContentView 기본적으로 SwiftUI base인 듯 하다. [General] 정말 간단한.. 설정만 할 수 있다. Accent Color와 App Icon을 누르면 Assets으로 이동. [Sign..
안녕하세요 :) Zedd입니다. iOS15에서 SwiftUI에 이것저것 많이 나왔는데, 그중 반가운게 하나 있더라구요~ SwiftUI에서 네트워크 요청을 해야할 때 요청을 시작하는 부분이..대부분 onAppear였는데요. var body: some View { List { ForEach(self.viewModel.names, id: \.self) { name in Text(name) } } .onAppear { self.viewModel.requestNames() ✅ } } iOS 15에서 task modifier가 나왔습니다! # task 정의는 view가 나타날 때(view appears) 수행할 비동기 작업을 추가합니다. 즉 네트워크 요청을 넣기 딱 좋은 위치가 된겁니다! var body: some..
안녕하세요 :) Zedd입니다. iOS 15에서 listRowSeparator가 드디어^^...나왔다길래 ^^... SwiftUI에서 Separator없애려면 .onAppear { UITableView.appearance().separatorStyle = .none } .onDisappear { UITableView.appearance().separatorStyle = .singleLine } 뭐 이런 짓을 해야한다고 해서 정말 믿기지가 않았거든요.. Separator없애려고 UITableView.appearance()까지 가는건 오바같아서 하지는 않았읍니다.. 이제부터 소개할 modifier들은 iOS 15이상에서만 가능하다는 사실 ^^.. OS분기도 짜증나는데 iOS 버전 분기까지 해야하는 상황 OT..
Xcode 13 Beta 5에서 navigationBarItems를 쓰려니.. 꽤 오래 버텼군..잘가라- future version에서 deprecate된다고 하는데, future version은 15다 ㅎㅎ.. 대신 toolbar를 사용하라고.. # toolbar를 사용하여 NavigationItem만들기 NavigationView { VStack {} .toolbar { ToolbarItem(placement: .navigationBarLeading) { ✅ Button(action: { // }, label: { Text("버튼") }) } } } 요렇게 만들면 된다. (참고로 ToolbarItem은 iOS 14부터 사용이 가능하다) placement에는 navigationBarLeading, na..
- Xcode
- actor
- swift 공부
- 피아노
- SwiftUI
- WKWebView
- Git
- github
- swift delegate
- swift array
- WWDC
- swift tutorial
- 회고
- UIBezierPath
- Combine
- 스위프트 문법
- fastlane
- np-complete
- 제이슨 파싱
- Swift
- swift sort
- 스위프트
- FLUTTER
- ios 13
- iOS delegate
- np-hard
- WidgetKit
- Accessibility
- IOS
- swift3
- Total
- Today
- Yesterday