UIButton 标签未显示
Posted
技术标签:
【中文标题】UIButton 标签未显示【英文标题】:UIButton label not showing 【发布时间】:2016-05-30 08:40:53 【问题描述】:我有以下代码
let width = UIScreen.mainScreen().bounds.width
let linkLabel = UILabel(frame: CGRect(x: 8, y: contentHeight, width: 100, height: labelHeight))
let linkButton = UIButton(frame: CGRect(x: 108, y: contentHeight, width: width - 108, height: labelHeight))
mainScrollView.addSubview(linkLabel)
mainScrollView.addSubview(linkButton)
linkLabel.text = "Link:"
linkButton.addTarget(self, action: #selector(linkButtonPressed), forControlEvents: .TouchUpInside)
linkButton.setTitle("http://example.com", forState: .Normal)
linkButton.layer.borderWidth = 1.0
mainScrollView.contentSize = CGSize(width: view.frame.width, height: contentHeight)
当视图加载时,我看到以下图片(请注意,按钮是黑色矩形):
所以标题是不可见的,但是当我点击按钮时,我可以获取它的标题属性
func linkButtonPressed(sender: UIButton)
print("button title = \(sender.titleLabel?.text)")
我得到了button title = Optional("http://example.com")
,但无论如何按钮标题不可见。有什么建议吗?
【问题讨论】:
先试着把它变大(高)——它可能太小而无法显示文本。 “宽度”变量是多少?似乎只有几个像素。 @sschale 是的,我试过了,但没有帮助 @derdida 更新:宽度等于屏幕宽度 contentHeight = ?你对此有什么价值? 【参考方案1】:您的按钮标题显示为白色。为按钮标题提供任何颜色。您的代码没有问题。
linkButton.setTitle("http://example.com", forState: .Normal)
linkButton.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)
【讨论】:
【参考方案2】:你跳过了一步。您应该添加标题颜色:-
linkButton.setTitleColor(UIColor.blackColor(), forState: .Normal)
【讨论】:
以上是关于UIButton 标签未显示的主要内容,如果未能解决你的问题,请参考以下文章
UIButton 标题标签文本未使用情节提要或以编程方式更改