在UIImageView后面插入子图层

时间:2016-11-02 00:00:19

标签: ios swift uiimageview

我正在尝试在imageView后面添加一个子图层然而问题是因为它正在使用约束,它似乎无法弄清楚位置并且只是将子图层放在左下角?我已尝试将function someMiddleware(req: IncomingMessage) { const str1: string = req.url; // error, can't assign string | undefined to string const str2: string = req.url!; // works } 添加到LFTPulseAnimation,但每次重新打开应用时,它都会添加一个。

viewDidLoad中

viewDidLayoutSubViews

1 个答案:

答案 0 :(得分:0)

  

我尝试将LFTPulseAnimation添加到viewDidLayoutSubViews,但每次重新打开应用程序时都会添加一个。

然而,这是做到这一点的方法。只需添加Bool属性,以便viewDidLayoutSubViews的实现只插入一次图层:

var didLayout = false
override func viewDidLayoutSubviews() {
    if !didLayout {
        didLayout = true
        // lay out that layer here
    }
}

原因是,在viewDidLayoutSubviews告诉您(等待它)您的视图已经布局之前,您没有所需的尺寸!但是,正如你正确地说的那样,它可以随后多次调用,所以你也添加了条件,这样你的代码只运行一次,即第一个时间viewDidLayoutSubviews被调用。