将UIView伸展到UIScrollView的宽度
问题描述:
我有一个UIView
,我需要伸展到UIScrollView
的宽度。问题是下一个: 我需要伸展UIView(这是EGOTableViewPullRefresh,只是一个自定义的UIView)。在视图初始化中,我把
[_refreshHeaderView setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
。我尝试过:将UIView伸展到UIScrollView的宽度
-(void)scrollViewDidZoom:(UIScrollView *)scrollView {
NSLog(@"scrollViewDidZoom");
[_refreshHeaderView setFrame:CGRectMake(0.0f, 0.0f - webScroller.bounds.size.height, webScroller.frame.size.width, webScroller.bounds.size.height)];
}
但它看起来像图像。如果我进入iOS设计的页面(如Mobile Google),它看起来很好: 我该怎么做?
答
UIScrollView
的size.width
是设备上视图的宽度,而不是滚动视图内的内容宽度(将为scrollView.contentSize.width
)。
这意味着,如果“您的视图”在UIScrollView
之外,您确实需要滚动视图宽度,但如果您的视图位于滚动视图内,则需要内容宽度。
请注意您提供的底部/谷歌屏幕截图。注意如何没有水平滚动?在这种情况下,滚动视图的内容大小宽度与滚动视图宽度相同,因此它完美地工作。上/堆溢出图像确实有一个水平滚动条。所以滚动视图的内容宽度比滚动视图宽度大。
简短的回答:尝试设置你的看法是scrollView.contentSize.width
,不scrollView.frame.size.width