2017-04-19 61 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