UIScrollView对象有一个属性scrollEnabled是scrollView的滑动,通过此属性设置来试下滑动控制
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height*0.5-150, self.view.frame.size.width, 300)];
self.scrollView.contentSize = CGSizeMake([UIScreen mainScreen].bounds.size.width*2, 0);
self.scrollView.delegate = self;
self.scrollView.bounces = NO;
self.scrollView.pagingEnabled = YES;
self.scrollView.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:self.scrollView];
self.pageLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 40, [UIScreen mainScreen].bounds.size.width-200, 40)];
self.pageLabel.backgroundColor = [UIColor brownColor];
self.pageLabel.textColor = [UIColor whiteColor];
self.pageLabel.textAlignment = NSTextAlignmentCenter;
self.pageLabel.text = @"0";
[self.view addSubview:self.pageLabel];
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
NSInteger currentPage = scrollView.contentOffset.x/scrollView.frame.size.width;
self.pageLabel.text = [NSString stringWithFormat:@"%ld",(long)currentPage];
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
self.scrollView.scrollEnabled = !self.scrollView.scrollEnabled;
}
设置不可滚动后,scrollViewDidEndDecelerating这个代理方法也不会执行。