2013-06-26 2 views
1

Я пытаюсь создать очень простой эффект параллакса, когда пользователь прокручивает UIScrollView. Я использую метод scrollViewDidScroll на моем scrollview, вот и все работает. Я могу записать все из этого метода, поэтому я знаю, что он запускается, когда прокручивается UIScrollView. Проблема заключается в любых изменениях, которые я пытаюсь сделать для содержимого UIScrollView. Возможно, проблема рендеринга? Изменяет ли UIScrollView его содержимое во время прокрутки?Изменение центральной точки UIImageView на прокрутке UIScrollView

Я попытался изменить рамку и центральную точку UIImageView (imageView), ничего не работает. Любые идеи о том, что может происходить, я не получаю никаких ошибок или чего-то еще.

-(void)scrollViewDidScroll:(UIScrollView *)body { 

    float y = body.contentOffset.y; 

     imageView.center = CGPointMake(imageView.bounds.size.width/2, (imageView.bounds.size.height/2) - y/2); 

    // Tried this as well 
    //[imageView setFrame:CGRectMake(0, 0, imageView.bounds.size.width, imageView.bounds.size.height + (y * 2))]; 

    NSLog(@"We are scrolling..."); 

} 

ответ

2

Понял, что мне действительно нужно захватить экземпляр ImageView в ScrollView с помощью. Кто-то еще пытается понять это, я сделал это немного взломанным, но он работает.

/* Paralax Scrolling */ 
-(void)scrollViewDidScroll:(UIScrollView *)body { 

    float y = body.contentOffset.y; 

    // When adding (body) image view to scroll view I assigned a tag of 100 to it. 
    [body viewWithTag:100].center = CGPointMake([body viewWithTag:100].bounds.size.width/2, ([body viewWithTag:100].bounds.size.height/2) + y/2); 

} 
+0

awesome man ... cool !!! – Nits007ak