티스토리 뷰
반응형
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
- Xcode
- SWIFT
- swiftUI
- 엑스코드
- Authorization
- indicator
- SKProductsRequestDelegate
- permission
- Language
- 프로그레스
- TabBar
- Localizations
- Reject
- Localized
- 아이오에스
- presentationcompactadaptation
- AppStore
- ios
- SKPayment
- 다국어
- custom segment
- SKPaymentTransactionObserver
- 리젝
- 심사
- 테이블뷰
- 스위프트
- 인디케이터
- localizing
- TabView
- 로컬라이징
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함