UIScrollView的相关笔记

  1. 当UIScrollview横向滚动时,如果在上面添加5个按钮,但当前scrollview 一页只能显示3个按钮,此时有一项要求,需要在点击第3个按钮时,scrollview自动向左滑动,显示后面的按钮等,需要在按钮点击方法或者UIScrollview的滑动代理方法scrollViewDidEndDecelerating里面添加下面内容。

CGFloat needMoveVisableOffset = btn.center.x - self.headerBkView.width/2;

if(needMoveVisableOffset < 0){

needMoveVisableOffset = 0;

}

CGFloat maxMoveOffset = self .headerBkView.contentSize.width - self.headerBkView.size.width;

if(needMoveVisableOffset > maxMoveOffset){

needMoveVisableOffset = maxMoveOffset;

}

**self** .headerBkView setContentOffset:CGPointMake(needMoveVisableOffset, 0) animated:**YES**\];

  1. 当拖动scrollview滑动的时候,正常情况下,下面两种方法都会执行,如果当拖动scrllview停止之前未减速或者未等scrollview滑动结束,立即切换了页面,此时scrollview不会掉用scrollViewDidEndDeceleration方法,只执行scrollViewDidEndDragging,此时需要在decelerate为NO时,重新执行后续动作。

//当离开UIScrollView的时候

  • (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{

if(!decelerate){

// dosomething

}

}

//当UIScrollView停止滚动的时候

-(void)scrollViewDidEndDeceleration:(UIScrollView *)scrollView{

// dosomething

}

相关推荐
TheNextByte15 分钟前
如何将文件从iPhone传输到USB闪存盘?
ios·iphone
lzhdim7 分钟前
iPhone 18系列明年Q1试产:首发A20系列芯片
ios·iphone
long_run27 分钟前
iOS 开发:Objective-C 之字典对象
ios
long_run31 分钟前
iOS 开发:Objective-C 之分类及协议
ios
图图大恼31 分钟前
iOS Objective-C 协议一致性检查:从基础到优化的完整解决方案
ios·objective-c·apple
柯南二号2 小时前
【大前端】【iOS】iOS 使用 Objective-C 绘制几大常见布局(UIKit / Core Graphics 实战)
前端·ios
LorrestGump17 小时前
手游 iOS SDK 改用 CocoaPods 集成
ios
TheNextByte120 小时前
如何通过 4 种简单方法克隆 iPhone
ios·iphone
2501_9160074720 小时前
iOS 证书如何创建,从能生成到能长期使用
android·macos·ios·小程序·uni-app·cocoa·iphone
PeaceKeeper71 天前
Objective-c的内存管理以及Block
开发语言·macos·objective-c