好的,尽情享受吧
class ViewController: UIViewController {
let filterButton = UIButton()
override func viewDidLoad() {
super.viewDidLoad()
filterButton.setImage(UIImage(systemName: "ellipsis.circle"), for: .normal)
filterButton.tintColor = .blue
filterButton.addTarget(self, action: #selector(showFilters), for: .touchUpInside)
filterButton.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(filterButton)
NSLayoutConstraint.activate([
filterButton.centerXAnchor.constraint(equalTo: view.centerXAnchor),
filterButton.centerYAnchor.constraint(equalTo: view.centerYAnchor)
])
}
@objc func showFilters() {
let alertController = UIAlertController( title: nil, message: nil, preferredStyle: .actionSheet)
let scanButton = UIAlertAction(title: "Scan document", style: .default) { _ in
print(" 1 selected")
}
let connectButton = UIAlertAction(title: "Connect to Server", style: .default) { _ in
print(" 2 selected")
}
let editButton = UIAlertAction(title: "Edit", style: .default) { _ in
print(" 3 selected")
}
let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
alertController.addAction(scanButton)
alertController.addAction(connectButton)
alertController.addAction(editButton)
alertController.addAction(cancelAction)
alertController.popoverPresentationController?.sourceView = filterButton
alertController.popoverPresentationController?.sourceRect = filterButton.bounds
alertController.popoverPresentationController?.permittedArrowDirections = .up
present(alertController, animated: true, completion: nil)
}
}