日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UILabel 详解

發布時間:2023/12/13 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UILabel 详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
UILabel 多行文字自動換行 (自動折行)

1
.UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(10, 100, 300, 180)]; 2. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 150)]; 3. label.text = @"where are you? where are you? where are you? where are you? where are you? where are you? where are you? where are you? where are you? where are you?"; 4. //清空背景顏色 5. label.backgroundColor = [UIColor clearColor]; 6. //設置字體顏色為白色 7. label.textColor = [UIColor whiteColor]; 8. //文字居中顯示 9. label.textAlignment = UITextAlignmentCenter; 10. //自動折行設置 11. label.lineBreakMode = UILineBreakModeWordWrap; 12. label.numberOfLines = 0;

?

iOS的UILabel設置居上對齊,居中對齊,居下對齊

在iOS中默認的UILabel中的文字在豎直方向上只能居中對齊,博主參考國外網站,從UILabel繼承了一個新類,實現了居上對齊,居中對齊,居下對齊。具體如下:

[cpp]?view plaincopy
  • //??
  • //??myUILabel.h??
  • //????
  • //??
  • //??Created?by?yexiaozi_007?on?3/4/13.??
  • //??Copyright?(c)?2013?yexiaozi_007.?All?rights?reserved.??
  • //??
  • ??
  • #import?<UIKit/UIKit.h>??
  • typedef?enum??
  • {??
  • ????VerticalAlignmentTop?=?0,?//?default??
  • ????VerticalAlignmentMiddle,??
  • ????VerticalAlignmentBottom,??
  • }?VerticalAlignment;??
  • @interface?myUILabel?:?UILabel??
  • {??
  • @private??
  • VerticalAlignment?_verticalAlignment;??
  • }??
  • ??
  • @property?(nonatomic)?VerticalAlignment?verticalAlignment;??
  • ??
  • @end??
  • ?

    [cpp]?view plaincopy
  • //??
  • //??myUILabel.m??
  • //????
  • //??
  • //??Created?by?yexiaozi_007?on?3/4/13.??
  • //??Copyright?(c)?2013?yexiaozi_007.?All?rights?reserved.??
  • //??
  • ??
  • #import?"myUILabel.h"??
  • ??
  • @implementation?myUILabel??
  • @synthesize?verticalAlignment?=?verticalAlignment_;??
  • ??
  • -?(id)initWithFrame:(CGRect)frame?{??
  • ????if?(self?=?[super?initWithFrame:frame])?{??
  • ????????self.verticalAlignment?=?VerticalAlignmentMiddle;??
  • ????}??
  • ????return?self;??
  • }??
  • ??
  • -?(void)setVerticalAlignment:(VerticalAlignment)verticalAlignment?{??
  • ????verticalAlignment_?=?verticalAlignment;??
  • ????[self?setNeedsDisplay];??
  • }??
  • ??
  • -?(CGRect)textRectForBounds:(CGRect)bounds?limitedToNumberOfLines:(NSInteger)numberOfLines?{??
  • ????CGRect?textRect?=?[super?textRectForBounds:bounds?limitedToNumberOfLines:numberOfLines];??
  • ????switch?(self.verticalAlignment)?{??
  • ????????case?VerticalAlignmentTop:??
  • ????????????textRect.origin.y?=?bounds.origin.y;??
  • ????????????break;??
  • ????????case?VerticalAlignmentBottom:??
  • ????????????textRect.origin.y?=?bounds.origin.y?+?bounds.size.height?-?textRect.size.height;??
  • ????????????break;??
  • ????????case?VerticalAlignmentMiddle:??
  • ????????????//?Fall?through.??
  • ????????default:??
  • ????????????textRect.origin.y?=?bounds.origin.y?+?(bounds.size.height?-?textRect.size.height)?/?2.0;??
  • ????}??
  • ????return?textRect;??
  • }??
  • ??
  • -(void)drawTextInRect:(CGRect)requestedRect?{??
  • ????CGRect?actualRect?=?[self?textRectForBounds:requestedRect?limitedToNumberOfLines:self.numberOfLines];??
  • ????[super?drawTextInRect:actualRect];??
  • }??
  • ??
  • ??
  • @end??
  • ?

    在使用時:

    ?

    [cpp]?view plaincopy
  • lbl_mylabel?=?[[myUILabel?alloc]?initWithFrame:CGRectMake(20,?50,?150,?600)];??
  • UIColor?*color?=?[UIColor?colorWithPatternImage:[UIImage?imageNamed:@"halfTransparent.png"]];//使用半透明圖片作為label的背景色??
  • lbl_mylabel.backgroundColor?=?color;??
  • lbl_mylabel.textAlignment?=?UITextAlignmentLeft;??
  • lbl_mylabel.textColor?=?UIColor.whiteColor;??
  • lbl_mylabel.lineBreakMode?=?UILineBreakModeWordWrap;??
  • lbl_mylabel.numberOfLines?=?0;??
  • [lbl_mylabel?setVerticalAlignment:VerticalAlignmentTop];??
  • [self?addSubview:lbl_mylabel];?
  • ?

    ?

    ios UILabel 變量名不能為title

    -[UILabel copyWithZone:]: unrecognized selector sent to instance

    遇到了這樣一個錯誤,找了半天沒找到是什么錯誤,于是,Google搜索,打開第一個鏈接http://stackoverflow.com/questions/10784207/uilabel-copywithzone-unrecognized-selector-sent-to-instance UILabel 設置過長文本中間為省略號

    ?label.lineBreakMode = NSLineBreakByTruncatingMiddle;

    參考:iOS組件之UILabel iOS UILabel詳解 http://blog.csdn.net/zhaopenghhhhhh/article/details/16331041 ·UILable是iPhone界面最基本的控件,主要用來顯示文本信息。 ·常用屬性和方法有: 1、創建 CGRect rect = CGRectMake(100, 200, 50, 50); UILabel *label = [[UILabel alloc] initWithFrame:rect]; 2、text //設置和讀取文本內容,默認為nil label.text = @”文本信息”; //設置內容 NSLog(@”%@”, label.text); //讀取內容 3、textColor //設置文字顏色,默認為黑色 lable.textColor = [UIColor redColor]; 4、font //設置字體大小,默認17 label.font = [UIFont systemFontOfSize:20]; //?一般方法 label.font = [UIFont boldSystemFontOfSize:20]; //加粗方法 label.font = [UIFont fontWithName:@"Arial" size:16]; //指定 字體的方法 //還有?一種從外部導入字體的方法。 5、textAlignment //設置標簽文本對齊方式。 label.textAlignment = NSTextAlignmentCenter; //還有 NSTextAlignmentLeft、 NSTextAlignmentRight. 6、numberOfLines //標簽最多顯示行數,如果為0則表示多行。 label.numberOfLines = 2; 7、enabled //只是決定了Label的繪制方式,將它設置 為NO將會使文本變暗,表示它沒有激活,這時向它設置顏色值是無效的。 label.enable = NO; 8、highlighted //是否高亮顯示 label.highlighted = YES; label.highlightedTextColor = [UIColor orangeColor]; //高亮 顯示時的文本顏色 9、ShadowColor //設置陰影顏色 [label setShadowColor:[UIColor blackColor]]; 10、ShadowOffset //設置陰影偏移量 [label setShadowOffset:CGSizeMake(-1, -1)]; 11、baselineAdjustment //如果adjustsFontSizeToFitWidth屬性設 置為YES,這個屬性就來控制文本基線的行為。 label.baselineAdjustment = UIBaselineAdjustmentNone; UIBaselineAdjustmentAlignBaselines = 0,默認,文本最上端與中線對齊。 UIBaselineAdjustmentAlignCenters, 文本中線與label中線對齊。 UIBaselineAdjustmentNone, 文本最低端與label中線對齊。 12、Autoshrink //是否自動收縮 Fixed Font Size 默認,如果Label寬度小于文字長度時時,文字大小不自動縮放 minimumScaleFactor 設置最小收縮比例,如果Label寬度小于文字長度時,文字 進行收縮,收縮超過比例后,停止收縮。 minimumFontSize 設置最小收縮字號,如果Label寬度小于文字長度時,文字字號 減小,低于設定字號后,不再減小。//6.0以后不再使用了。 label.minimumScaleFactor = 0.5; 13、adjustsLetterSpacingToFitWidth //改變字母之間的間距來適應Label大小 myLabel.adjustsLetterSpacingToFitWidth = NO; 14、 lineBreakMode //設置文字過長時的顯示格式 label.lineBreakMode = NSLineBreakByCharWrapping;以字符為顯示單位顯 示,后面部分省略不顯示。 label.lineBreakMode = NSLineBreakByClipping;剪切與文本寬度相同的內 容長度,后半部分被刪除。 label.lineBreakMode = NSLineBreakByTruncatingHead;前面部分文字 以……方式省略,顯示尾部文字內容。 label.lineBreakMode = NSLineBreakByTruncatingMiddle;中間的內容 以……方式省略,顯示頭尾的文字內容。 label.lineBreakMode = NSLineBreakByTruncatingTail;結尾部分的內容 以……方式省略,顯示頭的文字內容。 label.lineBreakMode = NSLineBreakByWordWrapping;以單詞為顯示單位顯 示,后面部分省略不顯示。 15、 adjustsFontSizeToFitWidth //設置字體大小適應label寬度 label.adjustsFontSizeToFitWidth = YES; 16、attributedText:設置標簽屬性文本。 NSString *text = @"first"; NSMutableAttributedString *textLabelStr = [[NSMutableAttributedString alloc] initWithString:text]; [textLabelStr setAttributes:@{NSForegroundColorAttributeName : [UIColor lightGrayColor], NSFontAttributeName : [UIFont systemFontOfSize:17]} range:NSMakeRange(11, 10)]; label.attributedText = textLabelStr; 17、豎排文字顯示每個文字加一個換行符,這是最方便和簡單的實現方式。 label.text = @"請\n豎\n直\n方\n向\n排\n列"; label.numberOfLines = [label.text length];18、計算UIlabel 隨字體多行后的高度 CGRect bounds = CGRectMake(0, 0, 200, 300); heightLabel = [myLabel textRectForBounds:bounds limitedToNumberOfLines:20]; //計算20行后的Label的Frame NSLog(@"%f",heightLabel.size.height); 19、UILabel根據字數多少自動實現適應高度 UILabel *msgLabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 45, 0, 0)]; msgLabel.backgroundColor = [UIColor lightTextColor]; [msgLabel setNumberOfLines:0]; msgLabel.lineBreakMode = UILineBreakModeWordWrap; msgLabel.font = [UIFont fontWithName:@"Arial" size:12]; CGSize size = CGSizeMake(290, 1000); msgLabel.text = @"獲取到的deviceToken,我們可以通過webservice服務提 交給.net應用程序,這里我簡單處理,直接打印出來,拷貝到.net應用環境中使 用。"; CGSize msgSie = [msgLabel.text sizeWithFont:fonts constrainedToSize:size]; [msgLabel setFrame:CGRectMake(15, 45, 290, msgSie.height)];20、漸變字體Label UIColor *titleColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"btn.png"]]; NSString *title = @"Setting"; UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 80, 44)]; titleLabel.textColor = titleColor; titleLabel.text = title; titleLabel.font = [UIFont boldSystemFontOfSize:20]; titleLabel.backgroundColor = [UIColor clearColor]; [self.view addSubview:titleLabel]; [titleLabel release]; 21、Label添加邊框 titleLabel.layer.borderColor = [[UIColor grayColor] CGColor]; titleLabel.layer.borderWidth = 2;

    ?

    ?

    轉載于:https://www.cnblogs.com/ygm900/archive/2013/05/19/3086902.html

    總結

    以上是生活随笔為你收集整理的UILabel 详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产91免费观看 | 最近中文字幕av | 午夜在线一区二区三区 | 黄色视屏软件 | 91亚洲精选| 欧美日本黄色 | re久久| 97免费公开视频 | 少妇人妻真实偷人精品视频 | 亚洲中文字幕无码av | 精品亚洲成人 | 白嫩情侣偷拍呻吟刺激 | 插吧插吧综合网 | 日本成人一区二区 | 国产l精品国产亚洲区久久 午夜青青草 | 国产区在线看 | 精品午夜一区二区三区在线观看 | 日本人做受免费视频 | 女性女同性aⅴ免费观女性恋 | 91麻豆精品国产午夜天堂 | 日韩在线导航 | xxxⅹ少妇少妇xxxx | 久久精品一区二区在线观看 | 91成年人网站 | 已婚少妇美妙人妻系列 | 777午夜| 在线观看国产精品视频 | 激情文学8888 | 天天干夜夜操 | 国产日韩一区二区三区在线观看 | 日本免费网站在线观看 | 日本a级黄 | 亚洲欧美校园春色 | www视频在线观看 | 黑料av在线 | 一区二区在线免费看 | 中日韩精品一区二区三区 | 亚洲国产精品久久精品怡红院 | v天堂中文在线 | 香蕉视频污视频 | 亚洲自拍av在线 | 久久久久人妻一区 | 国产精品三级久久久久久电影 | 四虎一国产精品一区二区影院 | 一区二区三区四区五区av | 农村妇女毛片精品久久久 | 天天舔天天| 无码人妻h动漫 | cao国产| 91欧美日韩麻豆精品 | av网站大全免费 | 爱草在线| 中文字幕影片免费在线观看 | jizz欧美大全 | 成人综合区 | 偷拍亚洲视频 | 日本五十路女优 | 日日噜噜噜噜久久久精品毛片 | 玖玖爱资源站 | 少妇一边呻吟一边说使劲视频 | 91精品国产一区二区三区香蕉 | 成人精品一区二区 | 国产av第一区| 天堂av影院| 中文字幕97 | 黄色片视频免费看 | 精品国产久 | www.第四色| 美梦视频大全在线观看高清 | 久久99久久精品 | 国产偷人妻精品一区 | 久久福利免费视频 | 国产性猛交普通话对白 | av有声小说一区二区三区 | 午夜影院在线 | 免费av不卡| 日本啪啪网 | 亚洲小视频在线 | 亚洲色精品三区二区一区 | 久中文字幕| 老熟女高潮一区二区三区 | 91成人在线观看喷潮动漫 | 日韩高清片 | 精品夜夜澡人妻无码av | 日本丰满少妇一区二区三区 | 亚洲国产成人精品视频 | 男操女视频免费 | 色.www| 黄视频在线播放 | 亚洲精品第一 | 美女网站在线免费观看 | 91黄色在线视频 | 一区精品二区国产 | 精品成在人线av无码免费看 | 国产性一乱一性一伧一色 | 中文字幕亚洲乱码 | 香蕉视频网页版 | 欧美视频一区在线观看 | 久草香蕉视频 |