2012-01-06 5 views
0

У меня есть UIView, который мне нужно растянуть до ширины UIScrollView. Проблема следующая: problem Мне нужно будет растянуть этот UIView (это EGOTableViewPullRefresh, только пользовательский UIView). В инициализации представления я положил [_refreshHeaderView setAutoresizingMask:UIViewAutoresizingFlexibleWidth];. Я пробовал:Протяжение UIView до UIScrollView width

-(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), она выглядит нормально: googleok Как я могу это сделать?

ответ

1

size.widthUIScrollView - это ширина вида на вашем устройстве, а не ширина содержимого внутри прокрутки (что будет scrollView.contentSize.width).

Это означает, что если «ваш вид» находится за пределами UIScrollView, вам нужна ширина прокрутки, но если ваше представление находится внутри прокрутки, вам нужна ширина содержимого.

Обратите внимание на нижний/Google скриншот, который вы указали. Обратите внимание, что нет горизонтальной прокрутки? В этом случае ширина размера содержимого прокрутки такая же, как ширина прокрутки, поэтому она отлично работает. Верхнее изображение переполнения/стека имеет горизонтальную полосу прокрутки. Таким образом, ширина содержимого прокрутки больше ширины прокрутки.

Короткий ответ: Попробуйте настроить вид, чтобы быть scrollView.contentSize.width, не scrollView.frame.size.width