【发布时间】:2020-09-29 20:44:39
【问题描述】:
我正在尝试创建一个仅占用屏幕一小部分的弹出框。我想从导航栏中的按钮打开弹出窗口。我试过搜索它,但我只能找到过时的帖子,这些帖子没有让我更进一步。
我希望有人知道方法或希望能给我指明一个方向。
我想要达到的目标是这样的:
解决方案:
创建一个新的 ViewController(使用模态,交叉溶解 segue 到它)。
使视图不透明并使视图的背景颜色清晰或使背景“变暗”,此处解释了几行。之后在顶部添加任何视图(UIView、UIStackView、UILabel、UIButton 等),您可以随意制作它!代码:
Swift 5:
class PopoverViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.isOpaque = false
self.view.backgroundColor = .clear
}
}
对于“变暗”背景,将视图的背景颜色设置为黑色,alpha 介于 0.4 和 0.6 之间,具体取决于您希望背景变暗的程度。示例:
Swift 5:
class PopoverViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.isOpaque = false
self.view.backgroundColor = UIColor.black.withAlphaComponent(0.5)
}
}
【问题讨论】:
标签: swift uiviewcontroller swift5 popover