- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想制作一个类型为 UIButtonTypeCustom 的 UIButton(用于形状)。我想使用 button.titleLabel 分配标题,因为我需要指定字体。下面的代码看起来应该可以工作,但实际上没有——没有标 checkout 现,句号。
UIImage *editButtonImage = [UIImage imageNamed: @"editButton.png"];
float width = editButtonImage.size.width;
float height = editButtonImage.size.height;
UIButton *editButton = [UIButton buttonWithType: UIButtonTypeCustom];
editButton.frame = CGRectMake(0, 0, width, height);
[editButton setBackgroundImage: editButtonImage forState: UIControlStateNormal];
editButton.adjustsImageWhenHighlighted = YES;
editButton.titleLabel.text = @"Edit";
editButton.titleLabel.textColor = [UIColor whiteColor];
editButton.titleLabel.textAlignment = UITextAlignmentCenter;
editButton.titleLabel.font = [UIFont fontWithName: @"Helvetica" size: 14];
[self.view addSubview: editButton];
每个人总是说使用 setTitle:forState: 但这给了你一种我不喜欢的字体。 titleLabel 方法并未弃用——它应该可以工作。
我之前曾多次遇到过这个问题,并且总是绕过它,但我真的很想弄清楚。有什么想法吗?
最佳答案
像这样设置 titleLabel
的 text
属性没有任何效果。相反,在按钮上调用 -setTitle:forState:
:
[editButton setTitle:@"Edit" forState:UIControlStateNormal]
这是因为按钮可以针对不同的状态(例如,UIControlStateDisabled
、UIControlStateHighlighted
)具有不同的标题。如果您没有明确指定其他状态,则为 UIControlStateNormal
控件状态设置属性将应用于所有状态。
根据 UIButton
的文档:
This class provides methods for setting the title, image, and other appearance properties of a button. By using these accessors, you can specify a different appearance for each button state.
您可以根据状态自定义标签的颜色和阴影颜色。请分别参见 -setTitleColor:forState
和 -setTitleShadowColor:forState
。 titleLabel
上的其余属性,例如 textAlignment
和 font
,应该可以像您现在设置的那样工作,并且应该应用于所有控件州。
具体来说,请参阅UIButton
的titleLabel
属性的文档:https://developer.apple.com/documentation/uikit/uibutton/1623992-titlelabel
titleLabel
本身是只读的,但这并不意味着你不能改变它自身属性的值,比如字体、换行方式等。
关于iphone - iOS:UIButton titleLabel——它能做什么吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4910446/
我正在尝试更改按钮类的字体(在启动按钮之前),但它不起作用。看来“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
我是一名优秀的程序员,十分优秀!