重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

ios开发label,iOs开发版会清空数据吗

IOS开发之UILabel文字局左上角显示

有时候,我们的label设置的高度比较高,然而文字比较少,这时候文字默认就会水平局左,垂直居中显示,我们都知道UILabel有水平局左,居右,居中的源方法,但是水平的确实没有,这时候的效果就是文字的上面空白很多,下面空白很多,我们只需要写一个UILabel的类就可以实现我们想要的效果,文字局左上角显示,其实很简单:

创新互联公司是一家以网站建设、网页设计、品牌设计、软件运维、营销推广、小程序App开发等移动开发为一体互联网公司。已累计为高空作业车租赁等众行业中小客户提供优质的互联网建站和软件开发服务。

创建一个继承与UILabel的类,只需要在.m中写以下方法就可以

然后利用该类的名字为对象的属性,创建一个UILabel就可以了

iOS开发小笔记 | 如何给label设置背景图片?

实际开发中,我们往往会遇到下面这种label:

我尝试了下面几种方案:

然而很不幸,这招对label的layer无效。

但是你又发现你的图片被裁剪了:

你只看到它:

却不知其实是它:

这招挺实在的,我也无话可说。

用button

iOS 开发-UILabel(文本)的使用

1.     创建CGRectrect = CGRectMake(100,200,50,50);

UILabel *label = [[UILabelalloc]initWithFrame:rect];

2.      text     设置和读取文本内容,默认为nil

label.text = @”文本信息”;     设置内容

NSLog(@”%@”, label.text)     打印label内容

3.      textColor      设置文字颜色,默认为黑色

lable.textColor = [UIColor redColor];

4.      font      设置字体大小,默认17

label.font = [UIFont systemFontOfSize:20]; 跟随系统默认字体

label.font=[UIFont boldSystemFontOfSize:20]; 设置字体加粗字号为20的label

label.font=[UIFont fontWithName:@"Arial"size:16]; 指定字体的方法, 还有⼀一种从外部导入字体的方法

5.      textAlignment      设置标签文本对齐方式

label.textAlignment = NSTextAlignmentCenter; 设置文本内容居中显示

label.textAlignment = NSTextAlignmentLeft; 设置文本内容居左显示

label.textAlignment = NSTextAlignmentRight; 设置文本内容居右显示

6.      numberOfLines      设置文本最多显示行数, 为0则表示行数不限(无限行)

label.numberOfLines = 2; 设置文本内容行数为2行

7.      enabled     只是决定了Label的绘制方式,将它设置为NO将会使文本变暗,表示它没有激活,这时向它设置颜色值是无效的, 默认为YES;

label.enable = NO;

8.      highlighted 是否高亮显示,默认为NO

label.highlighted = YES;  

label.highlightedTextColor = [UIColor orangeColor]; 高亮显示时的文本颜色

9.      ShadowColor     设置阴影颜色

[label setShadowColor:[UIColorblackColor]];

10.      ShadowOffset      设置阴影偏移量

[label setShadowOffset:CGSizeMake(-1,-1)];

11.      baselineAdjustment  

如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为。

label.baselineAdjustment = UIBaselineAdjustmentNone;

UIBaselineAdjustmentAlignBaselines = 0默认,文本最上端与中线对齐。

    UIBaselineAdjustmentAlignCenters,文本中线与label中线对齐。

UIBaselineAdjustmentNone,文本最低端与label中线对齐。

12.      Autoshrink     是否自动收缩FixedFontSize 默认,如果Label宽度小于文字长度时,文字大小不自动缩放minimumScaleFactor 设置最小收缩比例,如果Label宽度小于文字长度时,文字进行收缩,收缩超过比例后,停止收缩。minimumFontSize 设置最小收缩字号,如果Label宽度小于文字长度时,文字字号减小,低于设定字号后,不再减小。//6.0以后不再使用了。

label.minimumScaleFactor = 0.5;

13.      adjustsLetterSpacingToFitWidth     

       改变字母之间的间距来适应Label大小

       label.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 = [[NSMutableAttributedStringalloc]initWithString:text];       

   [textLabelStrsetAttributes:@{NSForegroundColorAttributeName[UIColorlightGrayColor],NSFontAttributeName:    [UIFontsystemFontOfSize: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 = [label 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 = @"一个人 一首歌 一杯酒 一支烟 一部手机 一台电脑 一杯清茶 一路清贫 一路走 一路停 一个远方 一个你还没到来 万世孤独";

CGSize msgSie = [msgLabel.text sizeWithFont:fontsconstrainedToSize:size];

[msgLabel setFrame:CGRectMake(15,45,290,msgSie.height)];

20.      渐变字体

LabelUIColor *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];

21.      Label添加边框

titleLabel.layer.borderColor = [[UIColor grayColor] CGColor];

titleLabel.layer.borderWidth = 2;

22. 设置label内边距

    .h文件

    @interface DrawRectLabel : UILabel

    @property ( nonatomic , assign ) UIEdgeInsets edgeInsets;

    @end

    .m文件      需要重写方法:  - ( void )drawTextInRect:(CGRect)rect

- (CGRect)textRectForBounds:(CGRect)bounds limitedToNumberOfLines:(NSInteger)numberOfLines{

   UIEdgeInsetsinsets = self .edgeInsets;

   CGRect rect = [ super textRectForBounds:UIEdgeInsetsInsetRect(bounds, insets)limitedToNumberOfLines:numberOfLines];

rect.origin.x    -= insets.left;

   rect.origin.y    -= insets.top;

rect.size.width  += (insets.left+ insets.right);

rect.size.height+= (insets.top+ insets.bottom);

return rect;

}


分享标题:ios开发label,iOs开发版会清空数据吗
转载来源:http://cqcxhl.com/article/dsdicdj.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP