ios開發UI篇--UILabel
概述
-
UILabel
類實現了一個只讀文字檢視。你可以使用這個類來畫一個或多個靜態文字.UILabel
類支援既簡單又複雜的樣式標籤文字,還可以控制外觀,比如標籤是否使用了一個影子或者處於高亮狀態等等. -
UILabel
類繼承自UIView
屬性
建立UILabel
物件
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
設定顯示文字,預設是空的
label.text = @"測試";
設定字型(系統預設字型是17號字型)
label.font = [UIFont systemFontOfSize:16];
設定字型顏色(預設是黑色)
label.textColor = [UIColor redColor];
設定對齊方式(在iOS 9之後,此屬性的預設值是nstextalignmentnatural;之前的iOS 9,預設值為nstextalignmentleft。)
居左
NSTextAlignmentLeft
居中
NSTextAlignmentCenter
居右
NSTextAlignmentRight
label.textAlignment = NSTextAlignmentCenter;
設定換行模式
以一個單詞為單位換行,最一行顯示不全內容以單詞截斷,後面直接不顯示
NSLineBreakByWordWrapping
以字元換行
NSLineBreakByCharWrapping
以一個單詞為單位換行,最後一行顯示不全的內容,在label的最後直接截斷,後面直接不顯示
NSLineBreakByClipping
顯示不全;最後一行將最後的內容顯示,前面使用...代替
例:Truncate at head of line: "...wxyasdasdz"
NSLineBreakByTruncatingHead
顯示不全;最後一行將前面的內容顯示,最後使用...代替
例:Truncate at tail of line: "abcd..."
NSLineBreakByTruncatingTail
顯示不全;最後一行將前面的內容顯示和最後的內容顯示,中間使用...代替
NSLineBreakByTruncatingMiddle
label.lineBreakMode = NSLineBreakByWordWrapping;
設定陰影顏色
label.shadowColor = [UIColor greenColor];
設定陰影的偏移量,預設是 CGSizeMake(0, -1) -- a top shadow
label.shadowOffset = CGSizeMake(0, -2);
設定行數(當文字需要自適應時,需將行數設定為0)
label.numberOfLines = 0;
adjustsFontSizeToFitWidth
根據寬度調整font
,預設為 NO
label.adjustsFontSizeToFitWidth = YES;
attributedText
屬性文字,這裡不多做介紹,具體請點此檢視
高亮屬性
設定是否處於高亮狀態
[label setHighlighted:YES];
設定高亮狀態字型的顏色
label.highlightedTextColor = [UIColor blueColor];
設定能否進行使用者互動(預設為NO
)
label.userInteractionEnabled = YES;
此屬性只決定如何繪製標籤。禁用的文字有些模糊,表示它不活躍。預設情況下,此屬性被設定為yes。
label.enabled = NO;
自適應
default is NO
設定字型大小適應label
寬度
label.adjustsFontSizeToFitWidth = YES;
default is UIBaselineAdjustmentAlignBaselines
//如果adjustsFontSizeToFitWidth
屬性設定為YES
,這個屬性就來控制文字基線的行為
label.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;
專案中label
自適應高度程式碼
+ (CGFloat)getHeightByWidth:(CGFloat)width title:(NSString *)title font:(UIFont *)font
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, 0)];
label.text = title;
label.font = font;
label.numberOfLines = 0;
[label sizeToFit];
CGFloat height = label.frame.size.height;
return height;
}
專案中label
自適應寬度的程式碼
+ (CGFloat)getWidthWithTitle:(NSString *)title font:(UIFont *)font {
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 1000, 0)];
label.text = title;
label.font = font;
[label sizeToFit];
return label.frame.size.width;
}
相關文章
- ios 開發UI篇—UITextViewiOSUITextView
- iOS開發- UILabel的基本介紹與使用iOSUI
- iOS開發UI篇--UICollectionView初步入門iOSUIView
- iOS開發UI篇--iOS動畫(Core Animation)總結iOSUI動畫
- iOS開發UI篇--仿射變(CGAffineTransform)使用小結iOSUIORM
- iOS開發UI篇--一個側滑選單SlidingMenuiOSUI
- iOS開發UI篇--一個支援圖文混排的ActionSheetiOSUI
- iOS開發UI篇--使用UICollectionView實現一個傾斜列表效果iOSUIView
- iOS-UILabel充分利用NSAttributedStringiOSUI
- Flutter混合開發—iOS篇FlutteriOS
- iOS開發UI篇--YXFilmSelectView(一個酷炫的電影選票View)iOSUIView
- iOS開發UI篇--使用CAShapeLayer實現一個音量大小動態改iOSUI
- Flutter外掛開發---iOS篇FlutteriOS
- iOS開發UI篇--使用UICollectionView實現一個列表頭部拉伸效果的案例iOSUIView
- iOS開發小記-基礎篇iOS
- iOS混合開發庫(GICXMLLayout)五、Texture篇iOSXML
- iOS混合開發庫(GICXMLLayout)七、JavaScript篇iOSXMLJavaScript
- iOS開發之OC篇(3)—— NSArray、NSMutableArrayiOS
- iOS開發UI篇——一個可擴充套件性極強的樹形控制元件iOSUI套件控制元件
- iOS 【如何去除 UILabel 邊緣異常黑線/陰影】iOSUI
- 輕鬆教你React Native 混合開發(iOS篇)React NativeiOS
- iOS開發基礎篇--NSNotificationCenter使用小結iOS
- 13. iOS開發小細節--OC篇iOS
- iOS開發UI第三方庫-小紅點&pageiOSUI
- android ios UIAndroidiOSUI
- iOS開發·runtime原理與實踐: 基本知識篇iOS
- iOS開發規範篇:清晰的初始化方法iOS
- IOS 初級開發入門教程(一)介紹篇iOS
- HarmonyOS UI 開發UI
- iOS 開發iOS
- 在iOS中運用React Component的思路,效率更高的開發UI,更好的複用UI元件iOSReactUI元件
- 《iOS 開發輔助篇》使用OmniGraffle匯出Xcode類圖iOSXCode
- iOS開發基礎篇--CAShapeLayer的strokeStart和strokeEnd屬性iOS
- iOS開發資料儲存篇—iOS中的幾種資料儲存方式iOS
- 玩轉iOS開發:iOS中的NSOperation開發(一)iOS
- SAP UI 和 Salesforce UI 開發漫談UISalesforce
- 混合開發實戰:App里拉起一個小程式(IOS篇)APPiOS
- iOS開發原始碼閱讀篇--FMDB原始碼分析1(FMResultSet)iOS原始碼
- iOS開發原始碼閱讀篇--FMDB原始碼分析2(FMResultSet)iOS原始碼