如何实现点击cameraView时切换按钮的显示与隐藏状态?
实现CameraView点击切换按钮显示/隐藏状态
嘿,我看你现在的代码逻辑有点小问题哦——你写的第二个else if条件永远不会被触发,因为第一个条件已经把touch?.view == self.cameraView的情况都拦截了。咱们可以直接根据按钮当前的隐藏状态来做切换,这样点击cameraView的时候就能在显示/隐藏之间来回切换啦!
修改后的代码如下:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { let touch = touches.first if touch?.view == self.cameraView { // 切换按钮的隐藏状态:取当前状态的反值 flipCamera.isHidden = !flipCamera.isHidden lockButton.isHidden = !lockButton.isHidden // 可选:打印当前状态方便调试 let isHidden = flipCamera.isHidden print(isHidden ? "Hide buttons" : "Show buttons") } }
这里的逻辑很简单:每次点击cameraView时,我们把按钮的isHidden属性设置成它当前值的相反值。比如现在按钮是显示的(isHidden = false),点击后就变成true隐藏;如果已经隐藏了(isHidden = true),点击后就变成false重新显示,完美实现你要的切换效果~
内容的提问来源于stack exchange,提问作者xcode22
相关产品推荐
相关产品推荐

