- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个连接到 UIButton
的 @IBOutlet
。在我的代码中,我有以下方法,每当用户执行操作时都会执行该方法。我已经设法用一些虚拟函数替换了我的代码,以向大家展示我的问题所在。
为了重现这个问题,我使用了 UITableViewController 的子类,您可以在下面看到它:
class MyTableViewController : UITableViewController {
@IBOutlet nextOrCreateButton: UIButton!
var dummy = [1, 2]
var index: Int = 0
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dummy.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
return tableView.dequeueReusableCellWithIdentifier("TemplateCell") as UITableViewCell!
}
@IBAction func onNextClicked() {
if dummy.count == (index + 1) {
dummy.append(0)
}
index++
}
func updateUI() {
if dummy.count == (index + 1) {
print("Setting text to FOO")
nextOrCreateButton.titleView?.text = "FOO"
if dummy.count == 4 {
print("Setting text to FOOBAR")
nextOrCreateButton.titleView?.text = "FOOBAR"
nextOrCreateButton.enabled = false
}
} else {
print("Setting text to BAR")
nextOrCreateButton.titleView?.text = "BAR"
}
}
}
上面的代码有一个被点击的按钮,当它被点击时,它要么移动到下一个虚拟值,这个虚拟值在这个例子中没有用于任何事情,除了表明改变文本没有工作。
发生的事情是代码执行了它应该执行的方式(根据调试消息),但是按钮的文本更改为它设置的内容,并且几乎立即变回原样。
点击按钮 X 次打印以下日志:
Setting text to BAR
Setting text to FOO
Setting text to FOO
Setting text to FOO
Setting text to FOOBAR
但是,该按钮总是快速变回 FOO,即使像它所说的那样更改为“FOOBAR”之后,该按钮甚至不会像我们在代码中设置的那样保持禁用状态。
最佳答案
不要在 UIButton
上这样做
nextOrCreateButton.titleView?.text = "FOOBAR"
始终使用
nextOrCreateButton.setTitle("FOOBAR", forState: UIControlState.Normal)
或者swift3
nextOrCreateButton.setTitle("FOOBAR", for: .normal)
关于ios - UIButton#titleLabel 在以编程方式更改后恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34946345/
我正在尝试更改按钮类的字体(在启动按钮之前),但它不起作用。看来“titleLabel”是问题所在,因为它为零。 guard let object = NSClassFromString(button
我的 ios 项目中有一个按钮,如果用户是当前用户,则显示编辑配置文件;如果用户不是当前用户,则显示关注。 我根据上述条件以编程方式设置 titleLabel 文本。我还以编程方式将按钮文本设置为居中
如何将 UIButton titleLabel 文本显示到其框架的底部。目前我正在使用 UIEdge 上边距并设置负 UIButton 图像宽度,结果不符合预期。我还想将图像中心放置在其框架上。` l
我需要将按钮的文本与变量进行比较。 @IBAction func CheckifATrue(sender: AnyObject) { if let thisbutton = sender.ti
我正在尝试将 UIButton 的 titleLabel 旋转 45 度。文本中的字符是“+”。 我可以获得要旋转的标题 button.titleLabel?.transform = CGAffine
我尝试使用: button.titleLabel?.textAlignment = .left 左对齐按钮上的文本,但文本仍显示在中间。我没有任何代码可以将按钮的标题设置为按钮的中心,因此默认情况下它
我在我的应用程序中观察到一个奇怪的趋势:每当显示警告消息时,导航栏按钮的标题值都会更改为其 Storyboard 标题值。这是 UIAlertView 之一: 上图中可见的标题值 100 是我的 St
我有一个连接到 UIButton 的 @IBOutlet。在我的代码中,我有以下方法,每当用户执行操作时都会执行该方法。我已经设法用一些虚拟函数替换了我的代码,以向大家展示我的问题所在。 为了重现这个
我写了一个按钮,我想在触摸按钮时更改其文本颜色。代码如下: -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [supe
这段代码似乎运行良好,修改了我的按钮的属性,除了 titleLabel 字体颜色没有改变。我可以更改字体、字体大小、阴影,但不能更改颜色。尽管我试图将其设置为黑色,但它目前显示为白色。我试过 butt
我尝试设置 titleLabel.text 但它不会从默认标题文本更改的奇怪问题。我已经在调试器中逐步检查它并检查了 taskTitle 值,它是正确的新值,但 titleButton.titleLa
奇怪的事情发生了。基本上,我正在尝试重新创建消息传递应用程序。因此,当我尝试让“发送”按钮在用户输入至少 1 个字符时从灰色变为蓝色时。 当我尝试更改 titleLabel 时,问题就来了,按钮将消失
由于某些原因,我无法使 titleLabel 正确适合 UIButton。 适合宽度,但不适用于高度(这应该归功于baselineAdjustment) let btn = UIButton(fram
所以我在我的 Storyboard 中使用了尺寸等级。我的 Storyboard 中的按钮正在使用自动布局,一切正常。 我为我的 ViewController 创建了一个导出,我正在尝试更改标题标签文
想知道如何设置 UIButton title Label 中的文字自上而下。 文字是“Press Me”横跨 会喜欢展示 " p r e s s m e " 我做了这个 CGAffineTransfo
我正在提交这个简单的动画,它会导致按钮缩小到 0 的宽度: [UIView animateWithDuration:0.2 delay: 0.0
我的自定义按钮包含一个在滑动时更新的值。但是当我点击它时,它没有保留该值,而是设置回在 Interface Builder 中或通过 [button00 setText:@"default value
在 tableView 页脚我有一个按钮 -(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger
我在界面生成器中添加了按钮并引用了它们,然后我想更改它们的标题字体,但它确实有效。当我使用时: [_button setFont:[UIFont fontWithName:APP_FONT_FUTUR
UIButton 的 titleLabel 是可选的原因是什么? 通过放置感叹号来隐式解包这个可选是否安全?如果不是,那么当 titleLabel 为 nil 时会怎样? 顺便说一句,我使用 UIBu
我是一名优秀的程序员,十分优秀!