@SanMao
2015-08-06T00:34:55.000000Z
字数 1201
阅读 1143
UI
scrollView.delegate = 控制器;
@interface 控制器 () <UIScrollViewDelegate>
@end
#pragma mark - <UIScrollViewDelegate> 代理方法
/**
* 只要scrollView在滚动,就会调用这个方法(监听scrollView的滚动)
*/
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog(@"scrollViewDidScroll");
}
**如果scrollView不是通过storyboard、xib创建,那么一开始的subviews里面没有子控件**
代理协议的格式:控件类名+Delegate
,比如UIScrollViewDelegate、UITextFieldDelegate
代理方法:方法名一般是控件名开头,比如UIScrollView的代理方法一般以scrollView开头
如何监听控件的行为
开启定时器
```objc
@property (nonatomic, weak) NSTimer *timer;
// 返回一个自动开始执行任务的定时器
self.timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(nextPage:) userInfo:@"123" repeats:YES];
// 修改NSTimer在NSRunLoop中的模式:NSRunLoopCommonModes
// 主线程不管在处理什么操作,都会抽时间处理NSTimer
[[NSRunLoop mainRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes];
* 关闭定时器
```objc
[self.timer invalidate];