UIButton 눌러도 반응하지 않도록 하기 미리 알림 클론코딩을 하면서 중앙에 정렬된 둥근 이미지뷰는 버튼으로 쉽게 만들어주고 있다. 버튼으로 만드는 것이 좀 더 편했다! 그런데 버튼은 눌리기 때문에 비활성화해줄 필요가 있었다. @IBOutlet weak var listBulletBtn: UIButton! override func viewDidLoad() { super.viewDidLoad() listBulletBtn.isEnabled = false } 위의 코드를 통해서 비활성화해주었는데 버튼의 색이 회색으로 변해서 내가 설정한 색이 나타나지 않았다. @IBOutlet weak var listBulletBtn: UIButton! override func viewDidLoad() { super.view..
modal 창 뒤에 View 띄우기 UIModalPresentationStyle 중 .fullScreen 과 .currentContext 를 통해서 화면 위 끝까지 덮는 모달창을 구현했었다. 하지만 drag down dismiss 기능을 추가하니까 뒤에 화면이 검은색이 되었다. 즉 전에 있던 View 는 사라진 상태였다. 그래서 알아보았다. .fullScreen 과 .currentContext 는 뷰가 present 될 때 지시하는 뷰컨트롤러의 뷰를 없애버린다. .overFullScreen 과 .overCurrentContext 는 뷰를 컨텍스트에서 없애지 않고 유지한 상태에서 present 하기 때문에 새로운 뷰의 alpah 값을 조절하면 뒤의 뷰를 비치게 보일 수 있다. 해결 나는 alpha 값을 1..
UIAction closure based UIControl 출처ㅣ iOS 14 + ) UIAction closure based UIControl @objc 와 addTarget 말고도 UIControl 생성자를 통해서 액션함수를 등록하는 방법을 소개하겠습니다! UIButton 을 만들고 터치할 때 마다 특정한 action 을 하는 코드 override func viewDidLoad() { super.viewDidLoad() let button = UIButton(type: .custom) button.addTarget(self, action: #selector(buttonDidTap), for: .touchUpInside) } @objc func buttonDidTap() { print("touch") ..
저장하지 않고 dismiss 할 때 ActionSheet 띄우기 UIAdaptivePresentationControllerDelegate UIAdaptivePresentationControllerDelegate 4개의 메서드가 있다. func presentationControllerDidAttemptToDismiss(UIPresentationController) : Notifies the delegate that a user-initiated attempt to dismiss a view was prevented. func presentationControllerShouldDismiss(UIPresentationController) -> Bool : Asks the delegate for permissi..
modal 창으로 뷰컨트롤러를 present 한 경우 아래로 쓸어내리면 창이 닫힌다 하지만 .fullScreen 속성을 주게되면 dismiss 로 쓸어내려도 창이 닫히지 않는다. fullScreen 형태의 화면을 제스쳐를 활용해서 dismiss 기능을 구현해보자. 1) Add addGestureRecognizer to View override func viewDidLoad() { super.viewDidLoad() view.addGestureRecognizer(UIPanGestureRecognizer(target: self, action: #selector(handleDismiss))) } 2) Create HandleDismiss Function @objc func handleDismiss(sender..
다른 스토리보드로 화면전환 1개의 스토리보드에 1개의 뷰컨트롤러가 존재하는 것이 이상적이다라고 해서 그렇게 진행해보았다. 평소에는 같은 스토리보드에 있는 뷰컨트롤러를 identifier 로 구분해서 가져올 수 있었다. 이 사진을 첨부한 이유는 코드로 TabBarController 로 화면전환 할때 첫번째탭으로 전환을 해야하는지에 대한 물음이 생겨서 첨부했다. 코드에서 확인 가능하듯이 UITabBarController 의 뷰컨으로 화면 전환하면 된다. guard let nextVC = self.storyboard?.instantiateViewController(identifier: "TabBar") as? UITabBarController else { return } self.navigationContro..
- Objective-C
- github
- Algorithm
- containerBackground
- 2022 KAKAO TECH INTERNSHIP
- projectsetting
- configurable widget
- Firebase
- MVVM
- WWDC
- 서버통신
- async/await
- UserDefaults
- IOS
- Protocol
- Widget
- APNS
- WWDC22
- CloneCoding
- Swift
- OpenSourceLibrary
- watchOS
- YPImagePicker
- RxCocoa
- SwiftUI
- MOYA
- Notification
- urlsession
- WidgetKit
- rxswift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Total
- Today
- Yesterday