在UI Scroll View中的UITextContentSize,底部文字被裁剪了。

3
我有一个包含UITextView的UIScroll。
我的应用程序如下所示:
rootviewcontroller -> PhoneContentController(UIScrollView和PageControl)-> DetailController(UITextView,UIWebView,UILabel)。
我的流程如下:
设置UIScrollView默认大小->调用DetailController(在viewDidLoad中计算UITextView和其他页面内的内容)->PhoneContentController从DetailController获取总高度大小->更改UIScrollView的高度
这是PhoneContentController(loadSCrollViewWithPage)中的代码:
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * kNumberOfPages, [detailController.getTotalHeight]);

在 Detail 控制器中的代码(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;

这段代码在DetailControllergetTotalHeight方法中:

 CGRect cgRect = [[UIScreen mainScreen] bounds];

CGFloat scrollFrame = (cgRect.size.height/2) + itemSummaryText.frame.size.height;

                       return scrollFrame;

我可以滚动scrollview,但是textview没有加载所有的字符串。只显示了一半,虽然我可以向下滚动,但是只有空白页面 :(。

有人能帮助我吗?

谢谢


请您能否更详细地解释一下这个句子,我不知道您期望会发生什么以及实际上会发生什么:"我可以滚动 scrollview 但是 textview 没有加载所有的字符串。就像只加载了其中一半,但我可以向下滚动,但只有空白页 :(。" - Mattias Farnemyhr
2个回答

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作为参数传递。希望这能帮助您……


0

根据苹果公司的说法...在调试文本视图问题时,要注意这个常见陷阱:

将文本视图放置在滚动视图中。文本视图处理自己的滚动。您不应该将文本视图对象嵌入到滚动视图中。如果这样做,可能会导致意外行为,因为两个对象的触摸事件可能会混淆和错误处理。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接