我的UIScroll里面有uitextview。
我的应用看起来像这样:
rootviewcontroller
- > PhoneContentController
(UIScrollView
和PageControl
) - > DetailController
(UITextView
,UIWebView
,UILabel
)。
My Flow是这样的:
设置UIScrollView
默认尺寸 - >在DetailController
中调用UITextView
(计算viewDidLoad
及其中的其他页面 - > PhoneContentController
从DetailController
- >获取总高度尺寸更改UIScrollView
这是PhoneContentController
(loadSCrollViewWithPage
)中的代码:
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * kNumberOfPages, [detailController.getTotalHeight]);
详细控制器中的代码(viewDidLoad
):
summaryBlogParsed = [summaryBlogParsed stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
[self.itemSummaryText setText:summaryBlogParsed];
CGRect frameTextView = self.itemSummaryText.frame;
frameTextView.size.height = self.itemSummaryText.contentSize.height;
self.itemSummaryText.frame = frameTextView;
DetailController
getTotalHeight
中的此代码:
CGRect cgRect = [[UIScreen mainScreen] bounds];
CGFloat scrollFrame = (cgRect.size.height/2) + itemSummaryText.frame.size.height;
return scrollFrame;
我可以滚动滚动视图,但textview
不会加载所有字符串。只有一半,但我可以向下滚动,但空白页:(。
任何人都可以帮助我?
谢谢
答案 0 :(得分:0)
使用此功能设置滚动视图的内容大小。
-(void)setContentSizeOfScrollView:(UIScrollView*)scroll
{
CGRect rect = CGRectZero;
for(UIView * vv in [scroll subviews])
{
rect = CGRectUnion(rect, vv.frame);
}
[scroll setContentSize:CGSizeMake(rect.size.width, rect.size.height)];
}
将所有控件添加到滚动视图后,调用此函数并传递yourScrollView
作为参数。希望这能帮助你.........
答案 1 :(得分:0)
根据Apple的说法......在调试文本视图问题时,请注意这个常见的陷阱:
在滚动视图中放置文本视图。文本视图处理自己的滚动。您不应该在滚动视图中嵌入文本视图对象。如果这样做,可能会导致意外行为,因为两个对象的触摸事件可能会混淆和错误处理。