UIScrollViewDelegate не работает - PullRequest
       4

UIScrollViewDelegate не работает

2 голосов
/ 06 декабря 2011

Здравствуйте. Я пытаюсь вызвать функцию, когда пользователь прокручивает приложение.

Вот мой код

Я определил класс MyViewController, который реализует UIScrollViewDelegate

@interface CircleViewController : UIViewController <UIScrollViewDelegate> {
  UIScrollView *scroll;
}

@property (retain, nonatomic) UIScrollView * scroll;

@end

Затем, в .m, в ViewDidLoad я написал:

- (void)viewDidLoad {
[super viewDidLoad];
self.scroll = [[UIScrollView alloc] init];
scroll.delegate = self;
[scroll setBackgroundColor:[UIColor whiteColor]];

NSInteger nbView = 3;


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

for(int i = 0; i < nbView; i++) {
    CGFloat xOrigin = i * self.view.frame.size.height;

    UIView * vue = [[UIView alloc] initWithFrame:CGRectMake(0, xOrigin,     self.view.frame.size.width, self.view.frame.size.height)];
    vue.backgroundColor = [UIColor colorWithRed:0.5/i green:0.5 blue:0.5 alpha:1];
    [scroll addSubview:vue];
    [vue release];

}
scroll.contentSize = CGSizeMake(self.view.frame.size.width,   self.view.frame.size.height * nbView);
[scroll setScrollEnabled:YES];
[self.view addSubview:scroll];  

И я определяю триггер:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
    NSLog(@"test");
} 

Когда я запускаю приложение, я могу прокручивать, но scrollViewDidScroll никогда не вызывается.

1 Ответ

6 голосов
/ 06 декабря 2011

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

...