2
안녕하세요, 사용자가 앱을 스크롤 할 때 함수를 트리거하려고합니다.UIScrollViewDelegate가 작동하지 않습니다.
- (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];
그리고 I를 : 여기에
내가 쓴있는 viewDidLoad에서 내가하는 .m에,@interface CircleViewController : UIViewController <UIScrollViewDelegate> {
UIScrollView *scroll;
}
@property (retain, nonatomic) UIScrollView * scroll;
@end
그런 다음 UIScrollViewDelegate를 구현하는 클래스의 MyViewController를 정의
내 코드입니다 방아쇠를 정의하십시오 :
-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
NSLog(@"test");
}
앱을 실행할 때 스크롤 할 수 있지만 scrollViewDidScroll이 호출되지 않습니다.
와우 넥스 Ankit, 나는 그것을 보지 못했다. 어리 석다. – flocks
스크롤의 두번째 할당은 첫번째 것을 오버라이드하고, 델리게이트는 사라진다. alloc이 새로운 스크롤 뷰를 생성 할 때 scroll = [[UIScrollView alloc] ...] 대신에 [scroll setFrame :]을 사용하고 싶을 것입니다 – Chaosphere2112