我正在尝试在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
答案 0 :(得分:0)
我尝试将LFTPulseAnimation添加到viewDidLayoutSubViews,但每次重新打开应用程序时都会添加一个。
然而,这是做到这一点的方法。只需添加Bool属性,以便viewDidLayoutSubViews
的实现只插入一次图层:
var didLayout = false
override func viewDidLayoutSubviews() {
if !didLayout {
didLayout = true
// lay out that layer here
}
}
原因是,在viewDidLayoutSubviews
告诉您(等待它)您的视图已经布局之前,您没有所需的尺寸!但是,正如你正确地说的那样,它可以随后多次调用,所以你也添加了条件,这样你的代码只运行一次,即第一个时间viewDidLayoutSubviews
被调用。