注 : 文章不断更新,转载文章请加上作者
1 . 什么是UIScrollView ?
当展示的内容较多, 超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容
而UIScrollView是一个能够滚动的视图控件. 与UIView的最大区别就是可滚动
2. 常用属性
3. 常用方法
4. 无法滚动的原因
-> 没有设置contentSize属性.(没确定滚动范围)
-> 没有取消autolayout功能 , (要想scrolllview滚动, 必须取消autolayout功能).
-> scrollEnabled = NO //能否滚动属性 选择了否
-> 没有接收到触摸事件(继承自UIView中的 userInteractionEnabled属性,)能否跟用户进行交互
@property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;
5. UIScrollView的代理(委托)(delegate)
delegate,是UIScrollView的一个属性, 当UIScrollView发生一系列的滚动操作时,会自动通知它的代理(delegate)对象, 给它的代理调某个方法发送相应消息,让代理得知它的滚动情况
@property(nonatomic,assign) id<UIScrollViewDelegate> delegate;
实现代理的条件:
1. 必须是个对象,任意类型都可以
2. 必须遵守UIScrollViewDelegate这个协议的方法
通讯:
实现代理三部曲:
5.1. (一般是控制器)遵守协议
5.2. 实现方法(具体业务逻辑)
5.3. 设置UIScrollView的代理(一般控制器为代理)
代理设计模式
1, 让一个对象A监听另一个对象B的状态
2, 一个对象B状态发生了改变,然后通知另一个对象A
1 . 什么是UIScrollView ?
当展示的内容较多, 超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容
而UIScrollView是一个能够滚动的视图控件. 与UIView的最大区别就是可滚动
2. 常用属性
@property(nonatomic) CGSize contentSize;//必须设置的属性, 设置滚动区域 @property(nonatomic,getter=isScrollEnabled) BOOL scrollEnabled;// 能否滚动 @property(nonatomic) BOOL bounces;//设置是否需要弹簧效果 @property(nonatomic) BOOL showsHorizontalScrollIndicator;//设置是否显示水平滚动条 @property(nonatomic) BOOL showsVerticalScrollIndicator;[//设置是否显示垂直滚动条 @property(nonatomic,getter=isPagingEnabled) BOOL pagingEnabled; //设置是否分页 (分页是根据UIScrollView的宽度进行分页) //这个属性用来表示UIScrollView滚动的位置 //以屏幕显示左上角为圆心,移动contentOffset 位置 @property(nonatomic) CGPoint contentOffset; //能够在UIScrollView的四周增加额外的滚动区域 //UIEdgeInsets 其实就是一个枚举 typedef struct UIEdgeInsets { CGFloat top, left, bottom, right; } UIEdgeInsets; @property(nonatomic) UIEdgeInsets contentInset;
3. 常用方法
//(CGPoint)contentOffset : 设置contentOffset ; animated : 是否需要动画 - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated;
4. 无法滚动的原因
-> 没有设置contentSize属性.(没确定滚动范围)
-> 没有取消autolayout功能 , (要想scrolllview滚动, 必须取消autolayout功能).
-> scrollEnabled = NO //能否滚动属性 选择了否
-> 没有接收到触摸事件(继承自UIView中的 userInteractionEnabled属性,)能否跟用户进行交互
@property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;
5. UIScrollView的代理(委托)(delegate)
delegate,是UIScrollView的一个属性, 当UIScrollView发生一系列的滚动操作时,会自动通知它的代理(delegate)对象, 给它的代理调某个方法发送相应消息,让代理得知它的滚动情况
@property(nonatomic,assign) id<UIScrollViewDelegate> delegate;
实现代理的条件:
1. 必须是个对象,任意类型都可以
2. 必须遵守UIScrollViewDelegate这个协议的方法
通讯:
//开始拖拽时,调用的方法 - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView; //具体滚到到某个位置时 - (void)scrollViewDidScroll:(UIScrollView *)scrollView; //用户停止拖拽时 - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate; //用户使用捏合手势时调用 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;
实现代理三部曲:
5.1. (一般是控制器)遵守协议
//在.m文件中,遵守UIScrollViewDelegate协议 @interface ViewController () <UIScrollViewDelegate> @end
5.2. 实现方法(具体业务逻辑)
//当滚动开始时,系统自动调用scrollViewWillBeginDragging方法 - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { NSLog(@"开始啦~"); }
5.3. 设置UIScrollView的代理(一般控制器为代理)
//将delegate属性设置为当前控制器 self.scrollView.delegate = self;
代理设计模式
1, 让一个对象A监听另一个对象B的状态
2, 一个对象B状态发生了改变,然后通知另一个对象A
发表评论
-
IOS开发 - IOS程序的完整启动过程
2015-08-20 11:56 4721. Info.plist和pch文件的作用 2. U ... -
IOS开发 - AppDelegate的代理方法
2015-08-20 11:56 14221. Info.plist和pch文件的作用 2. U ... -
IOS开发 - UIApplication , AppDelegate , UIWindow , UIViewController 的关系
2015-08-20 11:55 15241. Info.plist和pch文件的作用 2. U ... -
IOS开发 - UIApplication的常见使用
2015-08-20 11:54 5221. Info.plist和pch文件的作用 2. U ... -
IOS开发 - Info.plist和pch文件的作用
2015-08-20 10:59 4021. Info.plist和pch文件的作用 2. U ... -
计算文字高度
2015-08-07 21:37 0// 怎么计算一段文字显示在屏幕上所占的高度和宽度 ... -
UIView - 常用方法总结
2015-07-22 14:52 243注 : 文章不断更新,转载文章请加上作者 -
NSArray - 常用方法总结
2015-07-21 19:57 245makeObjectsPerformSelec ... -
状态栏
2015-07-20 17:52 238注 : 文章不断更新,转载文章请加上作者 状态栏 ... -
NSString - 常用方法总结
2015-07-15 17:56 298创建字符窜 常量字符窜 NSString *str ... -
UIButton - 常用方法总结
2015-07-15 17:50 337注 : 文章不断更新,转载文章请加上作者 // 设置按钮 ...
相关推荐
UIScrollView + InfiniteScroll 无限滚动实现作为UIScrollView的类别。 ... 两者都是不合适的。 izz 请注意,此类别UIScrollView上的setContentOffset和setContentSize。... github "pronebird/UIScrollView-
UIScrollView-Position 判断UIScrollView是否在顶部/底部,添加UIScrollView滑动到底部方法。 Import pod 'UIScrollView-Position', '~> 1.0.0' Usage #import "UIScrollView+VDPosition.h" [self.scrollView vd_...
UIScrollView-中心该项目说明了使用contentInset在UISCrollView contentInset内容UISCrollView方法。 可以在上找到有关该项目的葡萄牙语 。
UIScrollView-StoryBoard-AutoLayout 在 StoryBoard 和水平分页上使用 AutoLayout 的 UIScrollView 示例 滚动视图 gif
UIScrollView-扩展什么UIScrollView 上的扩展,用于请求在启用分页时滚动视图已停止的页面。 scrollView.currentPage例如与 UIPageControl 一起使用。 func scrollViewDidEndDecelerating(scrollView: UIScrollView)...
UIScrollView、UIScrollView基本用法、UIScrollView详解,UIScrollView常用方法
带有AutoLayout的UIScrollView-UIScrollViewContentContainer 一个类,可以轻松使用UIScrollView + AutoLayout进行水平滚动,垂直滚动甚至分页滚动。 该演示演示了如何从Storyboard和代码中使用...
带有屏蔽内容的 UIScrollView 模仿 iOS8 天气应用程序的滚动行为(不要与流行的雅虎天气应用程序混淆)。 基本上,当用户滚动经过某个点时,滚动内容(天气数据)将被屏蔽,在顶部留出空间以显示最小化的标头。 它...
UIScrollView 和 Autolayout 与 iOS8 和 Swift。 'UIScrollView and Autolayout with iOS8 and Swift'教程的回购。 ( )
采用uiscrollview实现图片的放大缩小,并截取选框中的图片。
Swift UIScrollView小技巧-实现图片放大缩小
UIScrollView代理触摸实现_图片缩放UIScrollView代理触摸实现_图片缩放
UIScrollView嵌套UIScrollView 悬停效果
用UIScrollView 创建的轮播图,包含UIPageControl UIScrollView NSTimer
uiscrollview 广告 滚动
UIScrollView 用法详解UIScrollView 用法详解
UIScrollView分页滑动宽度自定义 更多欢迎关注:http://blog.csdn.net/u014220518
iOS:UIScrollView实现轮播,UIScrollView实现轮播,UIScrollView实现轮播
基于UIScrollView封装的轮播图
UIScrollView实现自动轮播,可调节图片张数,轮播时间。