作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试复制表情符号键盘底部的滚动选择器,您可以通过点击相应的图标来选择类别,如果您滚动,它还会显示您所在的类别。但是,由于某种原因,我无法使所选按钮突出显示。我可以让滚动正常工作,但是当我单击该图标时,它不会保持突出显示状态。这与 touchUpInside 触发器的某些属性和突出显示的属性有关吗?
我的代码
var categoryButtons = [UIButton]()
var categoryDistances = [CGFloat]()
func scrollViewDidScroll(_ scrollView: UIScrollView) {
var curIndex = -1
for d in categoryDistances {
if (scrollView.contentOffset.x + 5 >= d) {
curIndex += 1
}
}
for b in categoryButtons {
b.isHighlighted = false
}
if (curIndex == -1) {
curIndex = 0
}
categoryButtons[curIndex].isHighlighted = true
}
func shortcutSelected(_ sender: UIButton) {
snapSelector.contentOffset.x = categoryDistances[categoryButtons.index(of: sender)!]
for b in categoryButtons {
b.isHighlighted = false
}
sender.isHighlighted = true
}
最佳答案
通过应用色调颜色而不是使用 isHighlighted
或 isSelected
属性,让它按照我想要的方式工作:
let tintedImg = origImg?.withRenderingMode(UIImageRenderingMode.alwaysTemplate)
let shortcut = UIButton()
shortcut.setBackgroundImage(tintedImg, for: .normal)
shortcut.tintColor = UIColor.gray
关于ios - 让 UIButton 在点击后保持突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41394612/
有没有一种方法可以“标记”对象的属性,使它们在反射中“突出”? 例如: class A { int aa, b; string s1, s2; public int AA
我是一名优秀的程序员,十分优秀!