- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
标题说明了一切。这是我的代码:
func createCheckBoxButton(xPos: CGFloat, yPos: CGFloat, tag: Int) -> UIButton {
var checkBox = UIButton(frame: CGRect(x: xPos, y: yPos, width: checkBoxSize, height: checkBoxSize))
checkBox.setBackgroundImage(UIImage(named: "checkbox_inactive"), forState: UIControlState.Normal)
checkBox.setBackgroundImage(UIImage(named: "checkbox_pressed"), forState: UIControlState.Highlighted)
checkBox.setBackgroundImage(UIImage(named: "checkbox_active"), forState: UIControlState.Selected)
checkBox.tag = tag
checkBox.contentMode = .ScaleAspectFit
checkBox.addTarget(self, action: "processButton:", forControlEvents: UIControlEvents.TouchUpInside)
return checkBox
}
按下按钮时调用的函数:
func processButton(sender: UIButton) {
if (answerViewArray[sender.tag].backgroundColor == UIColor.whiteColor()) {
answerViewArray[sender.tag].backgroundColor = myColor.pinky()
} else {
answerViewArray[sender.tag].backgroundColor = UIColor.whiteColor()
}
let tag = answerButtonsArray[sender.tag]
answer.buttonPressed(tag)
}
当我启动应用程序时,checkbox_inactive
图像就在那里。当我按下并保持按下时,checkbox_pressed
图像出现。但是当我释放我的点击时,checkbox_inactive
再次出现而不是 checkbox_active
。
我还尝试了 UIImageView
,这实际上对我来说是最好的解决方案。我将我的复选框设置为 UIImageView
并在我的一般 View 的顶部放置了一个不可见的 View ,这样我就可以在任何地方点击。但是当我按下不可见 View 时,UIImageView
就消失了。
代码如下:
func createCheckBoxButton(xPos: CGFloat, yPos: CGFloat) -> UIImageView {
var checkBox = UIImageView(frame: CGRect(x: xPos, y: yPos, width: checkBoxSize, height: checkBoxSize))
checkBox.image = UIImage(named: "checkbox_inactive")
checkBox.contentMode = .ScaleAspectFit
return checkBox
}
这里是调用的函数:
func processButton(sender: UIButton) {
if (answerViewArray[sender.tag].backgroundColor == UIColor.whiteColor()) {
answerViewArray[sender.tag].backgroundColor = myColor.pinky()
checkBoxArray[sender.tag].image = UIImage(named: "checkbox-active")
} else {
answerViewArray[sender.tag].backgroundColor = UIColor.whiteColor()
checkBoxArray[sender.tag].image = UIImage(named: "checkbox-inactive")
}
let tag = answerButtonsArray[sender.tag]
answer.buttonPressed(tag)
}
最佳答案
要在您释放按钮时显示 checkbox_active,您应该为按下的按钮设置 selected=true。
所以你的函数应该是这样的:
func processButton(sender: UIButton) {
// If button not selected
if(sender.selected==false){
sender.selected = true;
}
else{ // If button already selected
sender.selected = false;
}
// Do your other stuff
}
关于ios - UIControlState.Selected 的图像没有出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27124641/
我经常看到使用 UIControlState.normal,例如在 UIButton 对象上设置一个 titleColor,它将在所有控件状态中使用,作为 UIButton。 setTitleColo
我有 3 个按钮,提供给用户选择他们希望查看的类别。 它们的定义如下: //outlets @IBOutlet weak var ChineseButton: UIButton! @IBOutlet
标题说明了一切。这是我的代码: func createCheckBoxButton(xPos: CGFloat, yPos: CGFloat, tag: Int) -> UIButton {
在理解 UIControlState 的概念时,我得到了一个奇怪的 UIButton 结果。这是我与 UIButton 相关的简单代码。 import UIKit class ViewControll
我知道使用 UIButton,我可以添加额外的 UILabel 作为 subview : [myButton addSubview: myLabel]; 并且(至少,使用默认的标题标签)我可以在点击时
我得到了这行代码,可以在单击时更改按钮上的图像: sender.setImage(UIImage(named: "something.png")!, forState: .Highlighted) 但
这是我的代码: let font = UIFont(name: "AvenirNext-Regular", size: 16.0) let attributes: NSDictionary? = [
我对 UIControlState 的运作方式有点困惑。具体来说,如果我看下面的例子: sender.setTitle("NewTitle", for: UIControlState.normal)
如何设置 UIButton 的状态? 在 UIButton 类引用中有一个“状态”,但它只是“只读”。 谢谢詹姆斯 最佳答案 例如,您可以设置selected 属性 buttton.selected
有没有办法为 UIControl 设置自定义状态——而不是现有的 UIControlState 值之一? 在 UIControlSate 枚举中,有 16 位可用于自定义控件状态: UIControl
以前对于 UIButton 实例,您可以为 setTitle 或 setImage 传入 UIControlState.Normal。 .Normal 不再可用,我应该用什么代替? let btn =
我正在尝试使用外观方法 (>iOS 5.0) 自定义 UIBarButtonItem。它适用于 UIControlStateNormal,但不适用于突出显示或禁用。查看图片 这是我用来设置这些的代码:
我有一个带有两个段的简单 UISegmentedControl,我正在尝试自定义它的外观。 我收到这个运行时错误: *** Terminating app due to uncaught except
在一段代码中,我想动态地在 UIButton 上触发一个方法,我想执行提供了 UIControlState 的方法。 比如我现在的代码是: private func setValue(value: A
我在这里以编程方式自定义 UIButton: button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setSel
我有一个自定义按钮,它具有透明背景和在按钮的 layer 中设置的自定义边框。 我想在按下按钮时将按钮的边框颜色更改为较深的颜色,例如在 UIControlStateSelected 期间,但我找不到
我希望在 IOS 平台上的 NSUserDefaults 中存储 UIControlState 的多个实例。 假设有一个带有各种 UIControl 元素的首选项面板,例如 UISlider、UISw
在 UIControl 中,如果我重写 isHighlighted 以设置私有(private) _isHighlighted 属性,然后检查控件的 state 看看它是否包含 .highlighte
我有一个 UIButton,我想更新它的标题,但我不想总是像下面这样对每个状态都这样做: [myButton setTitle:@"Play" forState:UIControlStateNorma
我有以下 UIButton: // create footerView let footerView: UIView = UIView() footerView.backgroundColor = U
我是一名优秀的程序员,十分优秀!