2011-12-22 73 views
5

我有一個UIButton在XIB中設置爲147像素寬和30高。它有一個默認的文字「導航」。在申請過程中,我將標題設置爲「全球」。稍後,我將它設置爲'摘要',並將此顯示設置爲'Su ... ry'。截取的UIButton標題文本

我已經閱讀了很多說UIButton的默認標籤比最長的文本長的事情,但是'Summary'比'Navigation'更短。文本區域在應用程序中似乎縮小。

我不重新加載視圖。我的應用程序主要清除默認顯示滾動視圖中的元素,並用新數據重新填充。

我一直在使用

button.titlelabel.text = @"Summary"; 

但是我得到的場合時,這並沒有在文中表現造成的,因此使用

[button setTitle:@'Summary' forState:UIControlStateNormal]; 

哪些工作每次開機。

有沒有辦法強制UIButton中的文本區域重置爲正在顯示的文本?我寧願不動手創建按鈕,如果這是objective-c的功能,那麼我會認爲這是一個錯誤。

在此先感謝。 Chris H

回答

8

這不是Objective-C的錯。 Objective-C是一種編程語言。如果有什麼是錯的,那就是UIKit,它是iOS的iOS的UI框架。

問題是,您的按鈕不會調整大小 - 這不是如何設計UIButton的API。設置標題後,您可以通過自己調整按鈕來解決問題。您可以確定文本有多大是有:

CGSize requiredSize = [[button titleForState:UIControlStateNormal] sizeWithFont:button.titleLabel.font]; 

然後,你可以用它來使寬度和高度也有點大,並設置的buttonframe了這一點。

+0

謝謝,對不起,作爲一個相對較新的人,我無法區分各種組件。感謝您的澄清和解決方案。 – 2011-12-23 00:22:07