2016-06-08 73 views
-1

我想創建一個標籤,在一個帶圓角的黑色矩形和標籤的邊框和矩形邊框之間填充一些填充。如果文本長度在運行時發生更改,還需要正確包裝標籤。用另一個視圖包裝一個標籤IOS

外觀應該是這樣的觀點:

enter image description here

但是建在我看來,而不是浮動內。

我沒有使用iOS界面生成器的經驗,我該如何實現這一點?

回答

0

你或許只能用一個標籤逃脫。

如果您沒有爲標籤分配特定寬度,它將根據文本的長度自行調整其大小。

您可以在屬性選項卡的查看部分下的界面生成器中更改標籤的背景色和不透明度。

通過改變標籤CALayer的圓角半徑(label.layer.cornerRadius),需要在代碼中完成圓角。您可以通過在界面生成器中添加用戶定義的運行時屬性來更改角點,但我沒有嘗試過,所以我不能說我的頭頂有些問題。

1

最簡單的辦法是

創建帶有黑色背景色的簡單的UILabel,並設置其角radius.You無論你想可以定位這個標籤。

+0

如何處理填充? – Addev

+0

什麼填充?由於您正在創建標籤,但並未將其包裝在視圖中,因此您無需擔心填充。標籤將根據其內容進行擴展,黑色背景也會進行擴展。 –

+0

當我創建一個標籤並更改它的背景時,邊框太靠近文本 – Addev

1

據我所知,您希望顯示一個彈出窗口來顯示一些文本,這些文本將是動態的,並且只需傳遞文本即可顯示在任何位置。

您需要做的是創建一個自定義視圖,其中包含一個標籤,其頂部,底部,引導和尾隨約束的大小將根據文本增加。創建一個參數爲descriptionText:NSStringonViewController:UIViewController的類方法。在裏面根據文字設置你的customView的框架。

如果你想使大小動態可以使用下面的代碼: -

-(CGSize)getLabelSizeFortext:(NSString *)text forWidth:(float)width WithFont:(UIFont *)font 
{ 
    CGSize constraint = CGSizeMake(width, MAXFLOAT); 
    CGRect titleRect = [text boundingRectWithSize:constraint options:(NSStringDrawingUsesLineFragmentOrigin| NSStringDrawingTruncatesLastVisibleLine) attributes:@{NSFontAttributeName:font} context:nil]; 
    return titleRect.size; 
} 

內部類方法添加customView您currentViewController作爲

onViewController.view.addSubView(self) 

,如果你可以製作動畫想讓它在幾秒鐘後消失,以便用戶能夠閱讀文本。就外觀而言,將backgroundColor設置爲[UIColor blackColor],並將alpha設置爲8.0。

相關問題