티스토리 뷰
반응형
import UIKit
// 팝오버
class ViewController: UIViewController {
let button = UIButton(type: .system)
override func viewDidLoad() {
super.viewDidLoad()
button.setTitle("Popover", for: .normal)
let action = UIAction(handler: showPopover)
button.addAction(action, for: .touchUpInside)
view.addSubview(button)
button.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
button.centerXAnchor.constraint(equalTo: view.centerXAnchor),
button.centerYAnchor.constraint(equalTo: view.centerYAnchor)
])
}
func showPopover(action: UIAction) {
let viewController = UIViewController()
viewController.view.backgroundColor = .systemCyan
viewController.preferredContentSize = .init(width: 200, height: 100)
viewController.modalPresentationStyle = .popover
let popoverPresentationController = viewController.popoverPresentationController
popoverPresentationController?.permittedArrowDirections = [.down]
popoverPresentationController?.sourceRect = button.bounds
popoverPresentationController?.sourceView = button
popoverPresentationController?.delegate = self // 필수
present(viewController, animated: true)
}
}
extension UIViewController: UIPopoverPresentationControllerDelegate {
// Popover 스타일 표시하려면 필수
public func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
.none
}
}
#Preview {
ViewController()
}
팝오버
모달
툴팁
드롭다운
말풍선
채팅
chat
Speech bubble
셀렉트 박스
Select Box
iOS
Swift
UIKit
Xcode
Objective-C
반응형
'iOS Swift + UIKit' 카테고리의 다른 글
iOS Swift 배열 개수 자르기 Array Slice (0) | 2023.06.03 |
---|---|
iOS Swift 클립보드 복사 UIPasteboard 문자열, 이미지 (0) | 2023.03.01 |
iOS Swift 사용자 정의 연산자 Custom Operator (0) | 2023.01.01 |
원티드 프리온보딩 iOS 챌린지 1차 (Wanted Free Onboarding iOS Challenge) (0) | 2022.11.16 |
iOS Swift URLSession (Alamofire 없이 http 통신) (0) | 2022.10.01 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 엑스코드
- presentationcompactadaptation
- SWIFT
- 로컬라이징
- TabBar
- 테이블뷰
- Language
- 스위프트
- localizing
- indicator
- SKPayment
- 리젝
- AppStore
- 다국어
- 인디케이터
- swiftUI
- Authorization
- 심사
- TabView
- custom segment
- 아이오에스
- 프로그레스
- SKProductsRequestDelegate
- permission
- Reject
- Localized
- Xcode
- Localizations
- SKPaymentTransactionObserver
- ios
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함