Objective-C 学习记录 - 16

1.UIScrollView的属性和方法(常用)

scrollView.bounce //BOOL contentSize边缘的弹簧效果
scrollView.alwaysBounceVertical  //BOOL 纵向边缘的弹簧效果(不管有没有设置contentSize,可用来做下拉刷新效果)
scrollView.alwaysBounceHorizontal  //BOOL 横向边缘的弹簧效果(不管有没有设置contentSize)
scrollView.showsVerticalScrollIndicator //BOOL 是否显示纵向的滚动条
scrollView.showsVerticalScrollHorizontal //BOOL 是否显示横向的滚动条

scrollView.contentOffset //CGPoint 控制内容显示的左上角位置(以contentSIze建立坐标),可以通过这个属性获取和更改当前用户使用scrollView显示的位置

scrollView.contentInset //UIEdgeInset 使contentSize在用户滑动时向外扩展到一个新的滚动区域,但并不实际记入contentSize的坐标和尺寸,扩展出的部分以空白填充(可以用来做音乐播放器中歌词的显示)
[scrollView setContentOffset: animated: ];

scrollView.maximumZoomScale //当缩放时可以缩放的最大比例
scrollView.minimumZoomcale //当缩放时可以缩放的最小比例

不要通过索引去访问subViews数组中的子控件,因为UIScrollView中含有两个滚动条的子控件,而在不同时候subViews中各子控件的索引顺序并不一样


2.UIScrollView的代理方法(常用),这些方法会在特定的条件下自动调用

scrollView.delegate = self;

/** 当scrollView正在滚动的时候就会自动调用这个方法 */
-(void)scrollViewDidScroll: (UIScrollView *)scrollView{}
/** 当scrollView即将开始拖拽时候就会自动调用这个方法 */
-(void)scrollViewWillBeginDragging: (UIScrollView *)scrollView{}
/** 当scrollView即将停止拖拽时候就会自动调用这个方法 */
-(void)scrollViewWillEndDragging: (UIScrollView *)scrollView{}
/** 当scrollView已经停止拖拽时候就会自动调用这个方法,If (decelerate = NO),则不会进行惯性滚动,否则会继续进行惯性减速滚动 */
-(void)scrollViewDidEndDragging: (UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{}
/** 当scrollView的滚动动画已经减速完毕时候就会自动调用这个方法 */
-(void)scrollViewDidEndDecelerating: (UIScrollView *)scrollView{}

/** 用于确定缩放效果作用在哪个子控件,返回值就是作用的view */
-(nullable UIView *)viewForZoomingInScrollView: (UIScrollView *)scrollView{}

一般我们把控制器作为scrollView的代理,但如果需要任何OC对象都可以作为scrollView的代理

3.常用UI控件的监听方法:
addTarget方法:继承于UIControl的控件可以使用,如UIButton、UISegmentControl、UITextField等)
实现的方法中可以将被监听的对象本身作为参数传递
Delegate方法:特定的控件可以使用(如UIScrollView、UITextField等)

猜你喜欢

转载自blog.csdn.net/XtheEpic/article/details/81637568
今日推荐