单击按钮时,其标题应隐藏。我不想将标题设置为空字符串@“”。那么,我该怎么做呢?
答案 0 :(得分:4)
我现在正在使用的更好的解决方案:
如果我需要,接受的答案不允许我重复使用该名称,所以我正在以这种方式使用:
-(void)SomeButtonPressed {
someButton.titleLabel.textColor = [UIColor clearColor];
}
我认为最好只保持按钮的标签不可见。
答案 1 :(得分:2)
为什么不想将标题设置为空字符串?只需将值存储在本地字段中,并将按钮的标题设置为@“”,一切都会正常。
在你的.h:
NSString *someLocalField;
你的.m中的:
-(void)SomeButtonPressed {
someLocalField = someButton.text;
someButton.text = @"";
}
这样,如果您需要恢复按钮的文本,您可以这样做:
someButton.text = someLocalField
如果你想为一堆按钮执行此操作,你可以随时使用NSDictionary并将字符串值与按钮相关联。
答案 2 :(得分:2)
如果您希望手指在按钮上时消失,
[button setTitle:@" " forState:UIControlStateHighlighted];
如果您希望它在显示与否之间切换,
[button setTitle:@" " forState:UIControlStateSelected];
[button setTitle:@" " forState:UIControlStateSelected|UIControlStateHighlighted];
然后在按钮操作中设置button.selected = !button.selected
。
我使用单个空格而不是空字符串,因为有时空字符串有特殊处理,这使得它等于nil。如果空字符串有效,则可以使用它。
答案 3 :(得分:1)
我没试过这个,但如果你需要标题文字保持不变,但仍然隐藏用户,你可以将字体颜色设置为[UIColor clearColor];
答案 4 :(得分:1)
// Hide text
button.titleLabel.layer.opacity = 0.0f;
// Show text
button.titleLabel.layer.opacity = 1.0f;
答案 5 :(得分:0)
隐藏标题听起来有点奇怪而且不像Apple界面那样。您也可以将按钮设置为隐藏,然后整个过程就会消失。如果你确实希望标题是唯一消失的东西(请记住按钮仍然可以在这种状态下工作,只是没有标题)那么你总是可以指定背景颜色someButton.currentTitleColor = someButton.backgroundColor;
文本消失(您可能还需要设置阴影颜色)。
答案 6 :(得分:0)
我猜here您可以找到解决方案,只需将包含文字的标签隐藏起来。
button.titleLabel.hidden = YES;
你可以将它放在InterfaceBuilder中链接的IBAction中,与你的按钮关联的Touch Inside Up事件
答案 7 :(得分:0)
您是否尝试过button.titleLabel.hidden = YES
?
答案 8 :(得分:0)
使用button.titleLabel.hidden = YES
将无效(至少在iOS 7上)。
我最终使用了:
// remove the button since hiding it doesn't work
[button.titleLabel removeFromSuperview];
// put back when you're done
[button addSubview:button.titleLabel];