我的应用中有一个屏幕,用户可以向左或向右滑动以浏览一系列图像(如幻灯片)。在同一屏幕上是UIStackView
,其中包含三个UIButton
个实例。这些按钮是左,播放/暂停,右。这个想法是左右按钮与滑动相同(即,它们触发在图片之间移动的幻灯片动画)。
当用户到达图像序列中的最终图像时,播放/暂停按钮和"右转"按钮应隐藏。
代码非常简单:
func swipe() {
if(thisIsTheLastOne) {
playPauseButton.isHidden = true
goRightButton.isHidden = true
}
}
所以这里有一个奇怪的事情:如果我按下按钮向右走,我击中最后一个,一切正常。 "左转"按钮仍然可见,并保持在以前的位置。但如果我滑动,按钮会被调整"进入堆栈视图的中心。我已经对它进行了一些测试并确认它被调用的UISwipeGestureRecognizer
以某种方式导致UIStackview
以不同方式呈现内容。
手势识别器是否会导致渲染发生变化?