изменение цвета поля метки, если мы прокручиваем представление прокрутки - PullRequest
2 голосов
/ 04 апреля 2011

У меня есть поле с 4 метками, и у меня есть UIscrollview, в котором у меня есть 4 страницы. Если мы прокручиваем представление прокрутки вручную (путем перетаскивания), цвет поля с метками должен меняться в зависимости от номера страницы.любые хиты, чтобы сделать это.

UIScrollView *scroll = [[UIScrollView alloc]initWithFrame:  CGRectMake(0,0,self.view.frame.size.width, self.view.frame.size.height)];  
scroll.pagingEnabled = YES;  

NSInteger numberOfViews = 4;

float j=0;
for (int i = 0; i < numberOfViews; i++) {
    CGFloat yOrigin = i * self.view.frame.size.width;
    printf("%f\n",yOrigin);
    UIView *scrollview = [[UIView alloc] initWithFrame:CGRectMake(yOrigin, 0, self.view.frame.size.width, self.view.frame.size.height)];
    scrollview.backgroundColor = [UIColor cyanColor];
    [scroll addSubview:scrollview];
    [scrollview release];
    j=j+0.2;
}

1 Ответ

3 голосов
/ 04 апреля 2011

Установите UIScrollViewDelegate в вашем просмотре прокрутки (скорее всего, на себя).

scrollView.delegate=self

Затем реализуйте следующее в классе вашего делегата

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {...}

Затем внутри этой функции делегата взгляните на свойство scrollview.contentOffset . Это скажет вам, какая текущая позиция (в виде CGPoint) в верхней левой части вашего прокрутки. Используйте эту CGPoint, чтобы определить, сколько прокручивал ваш пользователь, и когда прокручивается соответствующая сумма, просто измените цвет UIView / UILabel.

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