2009-09-19 4 views
1

У меня есть полоса UIViews, которая скользит горизонтально позади окна «UIView». Отображаются только UIView в пределах «окна». Поскольку представление становится скрытым, я хотел бы получить уведомление, чтобы я мог выполнить некоторую задачу с помощью только скрытого вида. Каков наилучший способ сделать это?Вопрос iPhone UIView. Как получить уведомление, когда UIView полностью скрывается?

ответ

1

Добавить селектор обратного вызова анимации:

[UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:0.5]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionNone forView:theView cache:NO]; 
    [UIView setAnimationDidStopSelector:@selector(animationDone)]; 
    theView.frame = newFrame; 
    [UIView commitAnimations]; 
+0

Упс, Теперь я понимаю, что я дал обманчивое впечатление, что это анимация, и в этом случае ваш ответ будет мертвым. Виноват. На самом деле «окно» - наш друг UIScrollView. Я просмотрел методы UIScrollView и UIScrollViewDelegate, и ничто не похоже на счет. – dugla

2

В вашем UIScrollViewDelegate:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    // left and right bounds of the subview in relation to the scrollview 
    CGFloat left = mySubview.frame.origin.x - myScrollView.contentOffset.x; 
    CGFloat right = left+mySubview.frame.size.width - myScrollView.contentOffset.x; 
    if(right<=0 || left>=myScrollView.frame.size.width){ 
     // The view is not visible 
    } 
} 

это проверяет, либо левая или правая сторона подвид видна.

Смежные вопросы