2017-04-19 68 views
1

我正在尝试设置UILabel上的文本,该文本是UIButton的子项。UIButton上的UILabel突变导致文本不显示/显示屏上出现错误对齐

我正在改变的文字是错误的对齐。出于某种原因,即使对齐处于居中状态,它仍显示为左对齐,而在其他情况下,根本不显示已更改的文本。

我能找到的唯一解决方案是运行一个名为_titleAttributesChanged的私有API,它通过调用要重新呈现的标签来解决问题。

任何人有任何建议如何解决这个问题?

+1

加入一些代码,并与你的问题的屏幕截图将是一个好主意,我认为。 – dirtydanee

+0

*“我正在设置一个UILabel上的文本,它是UIButton的一个子文件。”* - 你的意思是你在'UIButton'中添加了一个'UILabel'作为子视图吗?还是你想操纵标准UIButton的内部? – DonMag

+0

不,实际标题标签在按钮上。 我想改变它在运行时的文本 – yanivH

回答

1

我认为没有必要使用UILabel,您可以使用下面的代码在按钮上设置文本作为其标题。希望这将有助于:

在Objective-C:

[buttonName setTitle: @"YourText" forState: UIControlStateNormal]; 

斯威夫特:

buttonName.setTitle("YourText" forState: UIControlState.Normal) 
+0

谢谢! That working .. 我现在遇到一个新问题,因为按照上述设置标题导致改变时的眨眼效果。 – yanivH

+0

@yanivH尝试设置UIButtonType来自定义像这样的: in Objective C:buttonName = [UIButton buttonWithType:UIButtonTypeCustom]; 在Swift中:let button = UIButton.buttonWithType(UIButtonType.System)as UIButton 它应该工作。 – ShivJ