Как узнать тег текущего видимого представления в iphone - PullRequest
0 голосов
/ 17 ноября 2010

У меня есть представление прокрутки, и я добавляю несколько видов к этому, когда пользователь прокручивает, как получить тег текущего видимого представления.тогда я могу добавить кое-что к этому представлению ...

все равно что получить указатель в табличном представлении ..

как это сделать? ..

Спасибо

1 Ответ

2 голосов
/ 17 ноября 2010

В основном вы хотите проверить, пересекается ли кадр подпредставлений внутри UIScrollView с рамкой прокрутки (если вы хотите определить только частичную видимость), или содержится ли кадр в другом кадре (если вы хотите определить,полная видимость).

Однако, чтобы проверить, пересекается ли фрейм подпредставления и / или содержится ли в фрейме прокрутки, вам необходимо перевести его из локальных координат внутри прокрутки в глобальные координаты вне прокрутки.

Это, вероятно, довольно запутанно, так что вот код.Это будет циклически перебирать все подпредставления прокрутки и выводить, является ли оно полностью видимым или частично видимым:

for (UIView *subview in scrollView)
{
    CGRect globalRect = CGRectOffset(subview.frame, -scrollView.contentOffset.x, -scrollView.contentOffset.y);
    CGRect scrollViewBounds = CGRectMake(0.0f, 0.0f, scrollView.bounds.size.width, scrollView.bounds.size.height);

    if (CGRectContainsRect(scrollViewBounds, globalRect)) {
        NSLog(@"FULLY VISIBLE");
    } else if (CGRectIntersectsRect(scrollViewBounds, globalRect)) {
        NSLog(@"PARTIALLY VISIBLE");
    }       
}

Вы можете поместить это в метод UIScrollViewDelegate, чтобы выполнять эти проверки, пока пользователь выполняет прокрутку.содержание вокруг.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...