问题描述
- UILabel如何在父view中垂直居中?
-
//这里的xywidth height要怎么写? UILable *label = [[UILabel alloc] initWIthFrame:CGRectMake(x,y,width,height)] ; [view.addSubView label];
还有对于不确定text长度的label如何设置width 啊
解决方案
基于super view设置你这个label的frame.
比如你要让这个label再父view的正中间,直接设置center属性.
至于动态的高度,你可以通过计算string的size获得.
NSString *yourMsg = @"your message here";
CGSize labelSize = [yourMsg sizeWithFont:[UIFont systemFontOfSize:15.0] constrainedToSize:CGSizeMake(30, MAXFLOAT) lineBreakMode:NSLineBreakByCharWrapping];// 这里限制宽30, 不限制高度
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, labelSize.width, labelSize.height)];
label.text = yourMsg;
label.center = self.view.center;
解决方案二:
UILable *label = [[UILabel alloc] initWIthFrame:CGRectMake(x,y,width,height)] ;
[view.addSubView label];
[label sizeToFit]
label.center = CGPointMake(view.bounds.size.width/2,...height/2)
时间: 2024-08-30 04:50:01