我有一个编辑器,UIView
我放了一个标签,标签上有labeltext。现在,用户可以通过在UIView
上书写文本并点击按钮来创建尽可能多的UITextView
。现在,如果我需要编辑文本,请在Tapgesture上获取文本并在UITextView
上显示,用户可以编辑该文本。
现在,如果用户添加更多文本,那么我需要在单击提交按钮后增加文本将落在其上的子视图的宽度。所以我的问题是可以在主视图中增加子视图宽度。这是我从主视图中获取所有子视图的代码
for (UIView *subview in mainview.subviews)
{
if(subview.tag==sender.tag)
{
for(UIView *getsusublabel in subview.subviews)
{
if([getsusublabel isKindOfClass:[UILabel class]])
{
UILabel *subsublabel = (UILabel *)getsusublabel;
subsublabel.text=imagelabeltext.text;
}
}
}
}
此处subsublabel
是子视图上的标签。
答案 0 :(得分:2)
如果您想根据文字增加标签宽度,请尝试以下代码段:
//use this for custom font
CGFloat width = [label.text sizeWithFont:[UIFont fontWithName:@"ChaparralPro-Bold" size:40 ]].width;
//use this for system font
CGFloat width = [label.text sizeWithFont:[UIFont systemFontOfSize:40 ]].width;
label.frame = CGRectMake(point.x, point.y, width,height);
//point.x, point.y -> origin for label;
//height -> your label height;
答案 1 :(得分:1)
如果您想使用文本更改子视图的大小,那么您可以尝试以下假设您的子视图是标签:
CGSize expectedLabelSize = [yourString sizeWithFont:yourLabel.font
constrainedToSize:maximumLabelSize
lineBreakMode:yourLabel.lineBreakMode];
您可以相应地在其他子视图上尝试。