Swift
-
[UIKit] Modal에 대해 알아보자Swift/UIKit 2022. 11. 19. 10:55
오늘 알아볼 내용은 modal 이다 참고로 GFAlertVC 는 UIViewController 를 상속받고 있다. .overFullScreen -> 아래에서 보는거 처럼 전체 화면을 옅게 덮는다 .crossDissolve -> 페이드아웃되는 애니메이션 효과 나머지 써보면서 알아보자... import UIKit extension UIViewController { func presentAlertOnMainThread(title: String, message: String, buttonTitle: String) { DispatchQueue.main.async { [weak self] in guard let self = self else { return } let alertVC = GFAlertVC(title:..
-
[UIKit] View 탭할때 키보드 없애주기Swift/UIKit 2022. 11. 18. 18:10
self.view -> View 를 탭할 경우 UIView.endEditing -> 에딧을 끝낸다 (키보드를 내리겠다) 해당 액션을 선언후 view 에 해당 탭 recognizer 를 추가해주어야한다. import UIKit class SearchVC: UIViewController { override func viewDidLoad() { super.viewDidLoad() createDismissKeyboardTapGesture() } func createDismissKeyboardTapGesture() { let tap = UITapGestureRecognizer(target: self.view, action: #selector(UIView.endEditing)) view.addGestureRecog..
-
[SwiftUI] List 에서 기본 스타일 빼고 SwipeAction 사용하기Swift/SwiftUI 2022. 11. 17. 14:15
SwiftUI 에서 SwipeAction 을 사용하려면 List 안에서 View 가 그려져야한다 하지만 List 는 기본적으로 디자인이 먹혀있어서 아래와 같이 스타일을 빼주면 깨끗해진다 import SwiftUI struct ContentView: View { let someList = [1,2,3,4,5,6,7] var body: some View { NavigationView { List(someList, id: \.self) { element in Text("\(element)") .listRowSeparator(.hidden) .swipeActions { Button { } label: { Image(systemName: "trash") } } } .listStyle(.plain) .navigat..
-
[Swift] async await 쓰는 법Swift 2022. 11. 15. 23:37
1. 함수명 뒤에 async 를 붙일것 2. Task 안에서 실행할것 (Task 밖에 두면 순차적으로 실행이 되지 않는다) 3. 호출할때 앞에 await 키워드 붙일것 func executeFirst() async { for i in 0...5 { print("first") } } func afterFirst() async { print("second") } Task { await executeFirst() await afterFirst() print("DONE") } // 결괏값👇👇 // first // first // first // first // first // first // second // DONE
-
[SwiftUI] 스켈레톤을 만들어주는 내장 기능 : redactedSwift/SwiftUI 2022. 11. 14. 11:00
Apple Developer Documentation developer.apple.com SwiftUI : Redacted ( onAppear / disabled ) 콘텐츠 모자이크 Redacted 에 대해 알아보겠습니다. Redacted(reason: .placeholder) iOS 14에서 SwiftUI에는 모든 콘텐츠를 redact 하는 새로운 한정자(modifier)가 있습니다. 새로운 view 한정자가 있는 모든 view 에 .redacted(reason:) 을 seons-dev.tistory.com
-
[SwiftUI] StateObject 을 init 에서 init 해보자Swift/SwiftUI 2022. 11. 5. 19:43
struct ProfileFriendsListView: View { @StateObject var observed: ProfileFriendsListViewObserved init(inActive: Binding, user: User) { _observed = StateObject( wrappedValue: ProfileFriendsListViewObserved( inActive: inActive, user: user )) }