對於一個標籤的UILabel類的屬性,方法的詳解。
首先初始化一個labelOne對象的兩種方法:app
//先初始化對象,而後在須要的時候設定labelOne在父視圖上的位置和大小 UILabel * labelOne = [[UILabel alloc]init]; //UILabel * labelOne = [UILabel new];一樣是初始化一個labelOne對象 [labelOne setFrame:CGRectMake(100, 100, 300, 100)]; //直接在初始化的時候設定labelOne在父視圖上的位置和大小 UILabel * labelOne = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 300, 100)];
設置labelOne的文字(包括文字的顏色、大小和文字的對齊方式)字體
labelOne.text = @"這是一個標籤"; //若是不設置文字顏色,則系統默認顏色爲黑色 labelOne.textColor = [UIColor blackColor]; //若是不設置文字大小,則系統默認大小爲17 labelOne.font = [UIFont systemFontOfSize:17]; //NSTextAlignmentLeft當前的文本相對於labelOne的frame是左對齊 //NSTextAlignmentCenter當前的文本相對於labelOne的frame是居中 //NSTextAlignmentRight當前的文本相對於labelOne的frame是右對齊 //NSTextAlignmentJustified最後一行天然對齊 //NSTextAlignmentNatural默認對齊腳本 labelOne.textAlignment = NSTextAlignmentLeft;
設置labelOne文本超出labelOne的size時文本的顯示方式:code
labelOne.lineBreakMode = NSLineBreakByWordWrapping; NSLineBreakByWordWrapping, //以空格爲邊界,保留單詞(默認設置) NSLineBreakByCharWrapping, //保留字符(包括空格) NSLineBreakByClipping, //簡單剪裁,到邊界爲止 NSLineBreakByTruncatingHead, //按照"……標籤"顯示 NSLineBreakByTruncatingTail, //按照"我……籤"顯示 NSLineBreakByTruncatingMiddle //按照"我是……"顯示
前三個類型這樣說不太形象,可是當它和numberOfLines屬性一塊兒用的時候就能夠很明顯的看出來:對象
labelOne.numberOfLines = 0; //默認是1,當設置成0的時候若是文本長度超出labelOne的寬度且高度夠的狀況下會自動換行 labelOne.lineBreakMode = NSLineBreakByWordWrapping; NSLineBreakByWordWrapping, //若是高度夠的話,則會根據寬度和文本中單詞的長度來決定一行放幾個完整的單詞,超出的部分則換行 NSLineBreakByCharWrapping, //和第一個相似,不過是改爲按照每個字符來計算,也就是說在換行的時候不會自動保留完整的單詞,有可能會將其拆開 NSLineBreakByClipping, //目前親測和第一個好像沒有什麼區別
設置labelOne文本的前景色和投影事件
//首先設置labelOne是否開啓高亮狀態,也就是前景色 labelOne.highlighted = YES; //設置labelOne的前景色 labelOne.highlightedTextColor = [UIColor redColor]; //設置labelOne的投影的顏色 labelOne.shadowColor = [UIColor blueColor]; //設置labelOne的投影位置,也就是投影的偏移量 labelOne.shadowOffset = CGSizeMake(0, 30);
設置labelOne的其餘屬性ip
//設置labelOne不能夠編輯,自己labelOne在運行以後是不能被編輯的,這裏設置這個屬性爲NO的時候labelOne的文本顏色會變成淺色。 labelOne.enabled = NO; //設置labelOne是否能夠交互,當設置爲YES的時候,爲labelOne添加手勢以後就會響應手勢的事件,默認是NO。 labelOne.userInteractionEnabled = YES; //設置labelOne的文本最小的字體大小,當小於這個值的時候,會將字體大小設置爲這個最小值。 labelOne.minimumScaleFactor = 17; //自動調節labelOne的文本字體大小來適應labelOne的寬度,默認爲NO。 labelOne.adjustsFontSizeToFitWidth = YES; //微調文本的位置,有三個類型,默認是文本最上端與Label中線對齊。 labelOne.baselineAdjustment = UIBaselineAdjustmentAlignBaselines; UIBaselineAdjustmentAlignBaselines //文本最上端與Label中線對齊,默認值 UIBaselineAdjustmentAlignCenters //文本中線與Label中線對齊 UIBaselineAdjustmentNone //文本最下端與Label中線對齊 //計算在指定的範圍內的labelOne顯示當前行的文本的frame 第一個參數是指定的範圍,第二個參數是labelOne限制多少行,親測以後發現,目前第二個參數暫時不知道用意在什麼地方,不管設置多少行,計算出來的結果只和指定的範圍有關係。 //labelOne textRectForBounds:labelOne.bounds limitedToNumberOfLines:2 NSLog(@"%@",NSStringFromCGRect([labelOne textRectForBounds:labelOne.bounds limitedToNumberOfLines:2])); //在繪圖的時候,將labelOne的文本繪製到指定的範圍。 - (void)drawTextInRect:(CGRect)rect
設置labelOne的邊框和圓角it
//設置labelOne的邊框寬度 labelOne.layer.borderWidth = 1; //設置labelOne的邊框顏色 labelOne.layer.borderColor = [UIColor lightGrayColor].CGColor; //設置labelOne的圓角半徑 labelOne.layer.cornerRadius = 5; //設置完圓角半徑以後須要對labelOne進行剪裁,把超出的部分剪裁掉才能顯示圓角的效果 labelOne.layer.masksToBounds = YES;
以上是相對於Objective-C的UILabel類的屬性和方法的總結,以後還會更新在Swift下的UILabel類的方法調用和屬性調用的總結,謝謝你們支持。io