我有一个包含UIScroller的UIView - 它又包含几个标签,一个图像和一个动态文本视图。
文本视图可以包含从几个字符到2000个单词的任何内容 - 如何自动将相关高度应用于UITextView和父卷轴?
我有以下几点 -
//Set Scroller
[self.scrollerArticle setScrollEnabled:YES];
[self.scrollerArticle setContentSize:CGSizeMake(320, 750)];
[self.articleUITextView sizeToFit];
[self.articleUITextView layoutIfNeeded];
但是不知道如何将sizetofit方法应用于滚动条?
答案 0 :(得分:4)
试试这个,
[self.scrollerArticle setContentSize:CGSizeMake(320, CGRectGetMaxY(self.articleUITextView.frame))];
答案 1 :(得分:1)
UITextView是UIScrollView的子类,您应该在设置文本后使用内容大小来获取大小:
self.articleUITextView.text = @"YOUR TEXT";
CGRect rec = self.articleUITextView.frame;
rec.size.height = self.articleUITextView.contentSize.height;
textView.frame = rec;
之后,您可以放弃滚动视图的contentSize。 如果你想使用sizeWithFont:它适用于UILabel,但UITextView不是必需的。
答案 2 :(得分:1)
您可以使用以下方法获取内容的高度。
-(CGFloat)getContentHeight{
NSString *aMessage = @"My Name is ABC"; // Can be anything between 0 to 2000 chars
CGSize maximumSize = CGSizeMake(320, 9999);
// Use the font you are willing to use for TexTView.
UIFont *textFont = [UIFont fontWithName:@"Helvetica-Bold" size:MessageFontSize];
CGSize myStringSize = [aMessage sizeWithFont:textFont
constrainedToSize:maximumSize
lineBreakMode:NSLineBreakByWordWrapping];
return myStringSize.height;
}
然后可以相应地设置Scrollview的ContentSize。