1. 滑动(UIScrollView)基本使用
1.0 如果UIScrollView上有UIButton且想有点击有高亮效果需要关闭UIScrollView的DelayContentTouch属性为NO
self.scrollView.delaysContentTouches = NO;
1.1 设置控件不可以和用户交互
self.scrollView.userinteractionEnable = NO;
1.2 设置scrollView不可滚动
self.scrollView.enable = NO;
1.3 设置图片滚动范围(一)
// 1.设置图片滚动范围
// self.minionScroll.contentSize = CGSizeMake(892, 632);
// self.minionScroll.contentSize = self.minionImage.frame.size;
self.minionScroll.contentSize = self.minionImage.image.size;
1.3 设置图片滚动范围(二)
// 取出scrollView中最后一个控件
UIImageView *image = [self.scrollView1.subviews lastObject];
// 计算最后一个控件X值加上这个控件的宽度
CGFloat contentW = CGRectGetMaxX(image.frame);
self.scrollView1.contentSize = CGSizeMake(contentW, 0);
1.4 设置滚动后四周预留空白范围(内边距)
self.minionScroll.contentInset = UIEdgeInsetsMake(10, 20, 30, 40);
1.5 设置滚动的位置(偏移量)
self.minionScroll.contentOffset = CGPointMake(10, 20);
CGPoint point = self.minionScroll.contentOffset;
point.x += 10;
point.y += 10;
// 更改滚动位置以动画形式执行
[self.minionScroll setContentOffset:point animated:YES];
1.6 显示隐藏滚动条
showsHorizontalScrollIndicator : 水平滑动条
showsVerticalScrollIndicator : 垂直滑动条
shouldGroupAccessibilityChildren : 待确认
self.scrollView.showsVerticalScrollIndicator = NO;
1.7 设置是否分页
self.scrollView.pagingEnabled = YES;
1.8 禁止弹簧效果
self.scrollView.bounces = NO
1.9 设置scrollView总是有弹簧效果
// 垂直方向总有弹簧效果
self.scrollView.alwaysBounceVertical = YES;
// 水平方向总有弹簧效果
self.scrollView.alwaysBounceHorizontal = YES;
2.UIScrollView代理的方法
2.1 监听开始拖拽
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
// 监听开始拖拽时可以执行一些代码......
}
2.2 监听拖拽减速
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
// 监听停止拖拽时可以执行一些代码......
}
2.3 监听停止拖拽
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
}
2.4 监听正在滚动
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
// 监听正在滚动时可以执行一些代码......
}
2.5 监听scrollView上那个子控件进行缩放
// 监听scrollView上的那个子控件进行缩放
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return _scrollView;
}
- (vodi)viewDidLoad
{
// 缩放比例
self.scrollView.maximumZoomScale = 2;
self.scrollView.minimumZoomScale = 0.8;
}
2.6 监听时实缩放比较
/**
* 监听缩放比例
*
* @param scrollView
*/
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
NSLog(@"%2f", self.scrollView2.zoomScale);
}