You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现点击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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 10:13:10