2012-12-27 22 views
0

我有一個UIImageView,在其上有一個UILabel。這個UILabel有一個向用戶顯示多少人喜歡他的內容(有點像Facebook喜歡或評論)的文本, UIImageView和UILabel都很小,所以用戶界面需要非常完美。現在,如果UILabel顯示2位數字,它仍然顯示正確對齊,但是當我進入3位數字時,它會偏斜,我如何確保始終可以通過代碼將它對齊到UIImageView?如何將一個UILabel居中對齊UIImageView

回答

1

斯科特的答案相似,但區別在於海報要求

//assume that UIImageView (imageView) and UILabel (label) are already defined 
label.frame = CGRectMake(imageView.frame.origin.x, imageView.frame.origin.y - label.frame.size.height, imageView.frame.size.width, label.frame.size.height); 
label.textAlignment = UITextAlignmentCenter; 

注意代碼:你還需要確保的UILabel的支柱和自動調整口罩適當匹配的UIImageView的,爲確保這看起來適合不同尺寸和不同方向的屏幕。

+0

這很好,但問題是當我向上移動數字並達到100時,標籤會移動到框的右側。 – Kalamantina

+0

好的,請發佈截圖,很難直觀地看到發生了什麼 –

+0

實際上沒關係,你明白了,這段代碼完美工作。多謝兄弟, – Kalamantina

0

發生了什麼事情的屏幕截圖會很好,但您始終可以嘗試使標籤的寬度與圖像的寬度相同,然後居中顯示標籤的文本。

0

試試這個:

UILabel *label = [[UILabel alloc] initWithFrame:imageView.frame]; 
label.textAlignment = NSTextAlignmentCenter; 

這可能工作作爲UITextAlignmentCenter在iOS 6以上已被棄用。