作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 UIButton
突出显示状态涉及删除阴影。我尝试做的是将 UILongPressGestureRecognizer
放到按钮上:
let gesture = UILongPressGestureRecognizer(target: self, action: #selector(self.removeShadow))
gesture.numberOfTapsRequired = 1
gesture.numberOfTouchesRequired = 1
gesture.delaysTouchesBegan = false
gesture.delaysTouchesEnded = false
gesture.minimumPressDuration = 0.01
self.addGestureRecognizer(gesture)
然后在我的操作中,我使用状态来隐藏和显示阴影:
@objc func removeShadow(gesture: UILongPressGestureRecognizer) {
if gesture.state == .recognized {
UIView.animate(withDuration: 0.1, animations: {
self.layer.shadowOpacity = 0
})
} else if gesture.state == .ended {
UIView.animate(withDuration: 0.1, animations: {
self.layer.shadowOpacity = 0.15
})
}
}
然而,这似乎并没有触发任何东西。影子一直活在按钮下面。我在这里遗漏了什么吗?
谢谢。
最佳答案
您的手势识别器正在被按钮的选择器覆盖。在您的场景中,最好在选择按钮时覆盖按钮并隐藏其阴影。
class ShadowButton: UIButton {
override var isHighlighted: Bool {
didSet {
UIView.animate(withDuration: 0.1) {
self.layer.shadowOpacity = self.isHighlighted ? 0 : 0.15
}
}
}
}
关于ios - 移除按住 UIButton 时的阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48501170/
我正在做一个项目,我的 android 在这个项目中作为一个网络服务器工作;输入带端口号的 IP 地址,打开 Web 界面,用户可以将文件上传到手机。我想在 Web 界面上显示一些图片,以便我们的界面
我是一名优秀的程序员,十分优秀!