您的位置:首页 > 产品设计 > UI/UE

iOS UILabel根据字数自适应宽高以及控件按屏幕大小按比例缩放

2017-07-20 10:21 776 查看
//UILabel的自适应

    UILabel *label=[[UILabel
alloc]init];

    label.backgroundColor=[UIColor
grayColor];

    label.text=@"3122222222222222222222222222222222222";

    CGFloat width=self.view.frame.size.width-20;

    CGRect rect = [label.text
boundingRectWithSize:CGSizeMake(self.view.frame.size.width
- 20,
MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading
attributes:@{NSFontAttributeName: label.font}
context:nil];

    label.frame=CGRectMake(label.frame.origin.x,
label.frame.origin.y

                           , width, rect.size.height);

    label.numberOfLines=0;

    [self.view
addSubview:label];

//控件按屏幕大小按比例缩放 

//先设置宏 我们以iphone6为例

#define SCREEN_RATE (375/[UIScreen mainScreen].bounds.size.width);

- (CGRect)newFrame:(CGRect)frame

{

    CGRect newFrame;

    newFrame.size.height = frame.size.height/SCREEN_RATE;

    newFrame.size.width = frame.size.width/SCREEN_RATE;

    newFrame.origin.x = frame.origin.x/SCREEN_RATE;

    newFrame.origin.y = frame.origin.y/SCREEN_RATE;

    

    return newFrame;

}

label.frame=label.frame=[self
newFrame:CGRectMake(10,
10, 100,
100)];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: