如果要适配iPhone6 Plus的资源,做到真正的高清,我们必须要将现有的@2x的资源的宽高各放大15倍。 由于现在大部分设计师都采用photoshop等位图软件来设计,大家知道,对于位图,从大尺寸到小尺寸的缩放没问题,但从小尺寸到大尺寸的放大
UILabel自适应里面的文字,自动调整宽度和高度:
UILabel label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];//必须是这组值,这个frame是初设的,没关系,后面还会重新设置其size。
[label setNumberOfLines:0]; //必须是这组值
NSString s = @"这个frame是初设的,没关系,后面还会重新设置其size。这个frame是初设的,没关系,后面还会重新设置其size。这个frame是初设的,没关系,后面还会重新设置其size。这个frame是初设的,没关系,后面还会重新设置其size。这个frame是初设的,没关系,后面还会重新设置其size。这个frame是初设的,没关系,后面还会重新设置其size。这个frame是初设的,没关系,后面还会重新设置其size。";
UIFont font = [UIFont fontWithName:@"Arial" size:12];
CGSize size = CGSizeMake(320,2000);
CGSize labelsize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];
labelframe = CGRectMake(00, 00, labelsizewidth, labelsizeheight );
labelbackgroundColor = [UIColor purpleColor];
labeltextColor = [UIColor blackColor];
labeltext = s;
labelfont = font;
//using the label Such as add it to the super view
[label release];//release the correct object
下面代码获取NSString写进单行的宽度与高度:
CGSize singleLineStringSize = [s sizeWithFont:font];
ps:需要检查其执行效率。
v
AutoLayout中添加的约束也有优先级,优先级的数值是1~1000。分为两种情况:
多说无益,举个栗子来感受一下
场景还原,工作中我们常常会碰到这种需求,并排放置两个Label,左边的Label宽度根据内容适应,右边的Label距离左边Label有个固定距离,距离屏幕右边有个固定距离,在不设置优先级的情况下,我们会经常遇到奇怪的现象,要么左边的Labe被拉伸,要么被压缩,比如下图
我们设置左边Label的抗压缩优先级和抗拉伸优先级都大于右边Label,效果如图
以上就是关于ios auto layout怎么约束宽高相等全部的内容,包括:ios auto layout怎么约束宽高相等、iOS 8 xib拉的 UILabel 能自适应么怎么自适应、iOS的一个小技巧——AutoLayout约束的优先级等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)