我有一个通过导航控制器推到屏幕上的视图:
Inside是一个UIScrollView。
然后在UIScrollView中有一些静态对象,如图像和标签。
然后是硬盘,有一个UITextView,其文本从不同长度的不同文本文件加载。
我需要能够将UITextView大小动态地放到其内容中,并且UIScrollView也是如此。这可能吗?
答案 0 :(得分:1)
您可以借助以下代码执行此操作。我已经为Label完成了代码,并且在文本字段的帮助下也可以这样做。
NSString *cellText = "Text Of Your Text-Field";
UIFont *cellFont = [UIFont fontWithName:@"Your Font Name" size:FONT_SIZE];//UIFont *cellFont = [UIFont fontWithName:@"Helvetica-Bold" size:13.0];
CGSize constraintSize = CGSizeMake(@"Width Of Your Text-Field", MAXFLOAT);//CGSize constraintSize = CGSizeMake(220.0f, MAXFLOAT);
CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
int height = labelSize.height;
frame.origin.x = Starting Position of X;
frame.origin.y = Starting Position of Y;
frame.size.width = Width Of Your TextField;
frame.size.height = height;
UILabel *lblName = [[[UILabel alloc] initWithFrame:frame] autorelease];
lblName.numberOfLines = 0;
lblName.lineBreakMode = UILineBreakModeWordWrap;
lblName.textAlignment = UITextAlignmentLeft;
lblName.textColor = [UIColor whiteColor];
lblName.backgroundColor = [UIColor clearColor];
lblName.font = [UIFont boldSystemFontOfSize:13.0];
您可以采用与Scrollview相同的方式。只需要设置滚动视图的框架就可以了。
答案 1 :(得分:1)
float length = [yourText length];
textview.frame = CGRectMake(44, 87, 923, ceilf(length/142)*25);
此处25
是假定为文本字体宽度的常量值。从这里你可以设置scrollview框架参考文本视图框架。
答案 2 :(得分:0)
是的,你可以这样做:
if ([textView length] > int//any number you want) {
textView.frame = CGRectMake(//just adjust the size an position here);
scrollView.contentSize = CGSizeMake(//adjust scrollView size)
}
else if ([textView length] > int//just another number) {
// you can continue looping that for how often you want
}
对于if语句中的int
,您可以检查文本的长度。基于此,您可以调整scrollView和textView的大小。