最近整理IOS开发关于scrollView的一些细节和技巧

来源:互联网 发布:阿桑奇曝光中国知乎 编辑:程序博客网 时间:2024/06/05 00:52
初学者用storyBoard时选中Auto Layout 会自动添加很多约束导致滚动视图不可滚动,最好在开始设置控件之前将滚动视图和图像视图的A L属性禁止掉。

滚动视图实现
self.scrollView.contentSize = self.imageView.image.size;

让图片缩放
采用UIScrollViewDelegate协议并实现代理方法返回须要缩放的内容视图
-(UIView *)viewForZoomingInScrollView: (UIScrollView *)scrollView
{
     return self.imageView;
}

canCencelContentTouches 属性 

如果属性值为YES并且跟踪到手指正触摸到一个内容控件,这时如果用户拖动手指的距离足够产生滚动,那么内容控件将收到一个touchesCancelled:withEvent:消息,而scroll view将这次触摸作为滚动来处理。如果值为NO,一旦content view开始跟踪(tracking==YES),则无论手指是否移动,scrollView都不会滚动。

简单通俗点说,如果为YES,就会等待用户下一步动作,如果用户移动手指到一定距离,就会把这个操作作为滚动来处理并开始滚动,同时发送一个touchesCancelled:withEvent:消息给内容控件,由控件自行处理。如果为NO,就不会等待用户下一步动作,并始终不会触发scrollView的滚动了。


ScrollView的俩个属性 DelaysContentTouches 和 CanCancelCotentTouch  影响 scrollView中添加按钮等控件的事件响应问题 (先触发按钮还是先触发滚动的问题)
假设视图中存在按钮 我在代码中测试实现了下面4种不同组合的效果 1代表设置了DelaysContentTouches属性2代表设置了 CanCancelContentTouches 属性

    [scrollView setDelaysContentTouches:NO];     1
    [scrollView setCanCancelContentTouches:NO];  2
 设置情况               点击按钮效果               在按钮上拖动         和  在视图中拖动

1、2都不设置        点击按钮延迟高亮       拖动按钮无反应          视图滚动
1设置2 不设置       按钮正常点击               拖动时候触发按钮      不滚动
1不设置 2设置       点击延迟高亮                快速拖动视图滚动      慢速按钮触发
1、2都设置            按钮正常 点击               拖动时候触发按钮       不滚动
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 山竹一天吃多了怎么办 水养竹子叶子发黄怎么办 龙竹的竹杆黄了怎么办 散尾竹叶子发黑怎么办 给姐姐打工不发工资怎么办? 水培红掌叶子发黄怎么办 盆竹的叶尖发黄怎么办 养富贵竹水里怎么生小虫怎么办 盆栽金银花叶子全部落掉怎么办 荷花竹根部烂了怎么办 水培绿萝叶子发黄怎么办 大早上的公鸡老打鸣怎么办 紫吊兰叶子变绿怎么办 芙桑花叶子发黄怎么办 长春花长得太高怎么办 四季梅叶子蔫了怎么办 吸财树叶子蔫了怎么办 民族团结手抄报间单有漂亮怎么办 鹦鹉尾巴毛掉了怎么办 羊绒衫领子打太大了怎么办 内裤洗了还有一股味道怎么办 月经下不来内裤上总有脏东西怎么办 夏天外衣薄露出内衣怎么办 金毛体味很重怎么办 直筒连衣裙太短怎么办 托班社会下雨了怎么办 托班下雨了怎么办教案 吃鸡界面有鼠标怎么办 老年机成英语了怎么办 手机成了英语了怎么办 塑料袋融化粘到衣服上怎么办 厕所被卫生纸堵了怎么办 钻石画的胶不粘了怎么办 客厅沙发选大了怎么办 连衣裙腰大了怎么办呀 憋尿后出现尿急尿涨怎么办 脚有酸酸的味道怎么办 三星手机home键失灵怎么办 三星s6返回键失灵怎么办 三星s7屏幕漏液怎么办 三星s8出现蓝框怎么办