我在屏幕外部设置了一个UICollectionView y位置(将其设置为与底部安全区域对齐,并且偏移了-154,因此它不在屏幕上。)
应用启动时,我使用按钮将整个根视图上移
self.view.center.y-= 154
根视图和我的UIView都出现在预期的位置,但是无法点按UICollectionView。新区域无法识别UIEvent。
我向UICollectionView添加了一个手势,但是它不起作用。只有根视图区域才响应UIEvent。
@IBAction func filmRollButton(_ sender: UIButton) {
var toUp = true
if self.toUp == true {
self.view.center.y -= 154
} else {
self.view.center.y += 154
}
self.toUp = !self.toUp
}
// tap - UICollection View appear(y position change)
// tap again - UICollection view disappear
预期:
答案 0 :(得分:0)
尝试使用 layoutIfNeeded()来立即布局子视图。可能正在等待
@IBAction func filmRollButton(_ sender: UIButton) {
var toUp = true
if self.toUp == true {
self.view.center.y -= 154
self.view.layoutIfNeeded()
} else {
self.view.layoutIfNeeded()
self.view.center.y += 154
}
self.toUp = !self.toUp
}
// tap - UICollection View appear(y position change)
// tap again - UICollection view disappear