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

}

相关推荐
鹏多多7 小时前
Flutter下拉刷新上拉加载侧拉刷新插件:easy_refresh全面使用指南
android·前端·ios
驱动探索者8 小时前
[缩略语大全]之[IOS]篇
ios
kkk_皮蛋1 天前
在移动端使用 WebRTC (Android/iOS)
android·ios·webrtc
Swift社区1 天前
如何在 SwiftUI 中对 CoreImage 滤镜做实时预览
ios·swiftui·cocoa
ipad协议开发1 天前
企业微信iPad协议的开发进程
ios·企业微信·ipad
七月巫山晴1 天前
【iOS】OC中的一些宏
前端·ios·objective-c
初级代码游戏2 天前
iOS开发 SwiftUI Text的基本用法
ios·swiftui·swift
TheNextByte12 天前
如何安全有效地清除iPad数据以便出售?
安全·ios·ipad
十二测试录2 天前
Android和iOS测试区别
android·经验分享·ios·职场发展·ab测试
张飞签名上架2 天前
深耕全球市场:App上架iOS与Google Play全流程指南
macos·ios·cocoa·ios上架·上架·谷歌上架