Swift:绘制一个叠加视图,屏幕上突出显示一些元素

时间:2016-03-14 07:46:42

标签: ios iphone swift

我有一个UIViewController,它有一些我以编程方式绘制的元素。

现在,我想在叠加层上方显示这些元素中的一些,以便使用单线描述突出显示它们。

class ExampleViewController: UIViewController {
    let element1 = UITextField()
    let element2 = UIButton()
    let overlayView = UIView()

    override func viewDidLoad() {
        super.viewDidLoad()
        // ADDING ELEMENTS TO VIEW
        self.view.addSubview(self.element1)
        self.element1.text = "Some text"

        // ...other elements...

        //DRAWING MY OVERLAY WITH TRANSPARENCY
        self.overlayView = UIView(frame: self.view.frame)
        self.overlayView.backgroundColor = UIColor.blackColor()
        self.overlayView.alpha = 0.4
        self.view.addSubview(self.overlayView)

    }

}

我面临的问题如下,

  1. 如何将元素置于半透明叠加UIView的顶部?
  2. 如何使元素(我提出的)不具有叠加的半透明度?
  3. 换句话说,当我显示叠加层时,我希望在叠加层视图的顶部显示很少的元素。

1 个答案:

答案 0 :(得分:1)

您可以做的是设置图层的zPostion。这是由

完成的
let view = UIView()
view.wantsLayer = true
view.layer?.zPosition = 1

对于您的所有视图和图层,您可以将它们设置为不同的zPosition。您设置的数字越高,它们将会越高。例如,zPosition 10的某些内容将显示在zPosition 20的下方。希望这会有所帮助!