【问题标题】:Trying to get a popover in a certain size试图获得一定大小的弹出框
【发布时间】: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


    【解决方案1】:

    通过提供一个新的视图控制器来实现这一点的最佳方法之一。为获得最佳用户体验而需要注意的事项。

    1. 这个弹出视图控制器的过渡风格将是Cross Dissolve
    2. 弹出视图控制器将有一个半透明的背景视图,如上图所示
    3. 您可以在此视图控制器中根据您喜欢的大小、样式等在半透明背景上拥有自己的自定义弹出视图

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-10
      • 1970-01-01
      • 2016-09-17
      • 1970-01-01
      • 2021-11-14
      相关资源
      最近更新 更多