文件名称:防止键盘遮挡控件滚动
文件大小:3.51MB
文件格式:ZIP
更新时间:2024-04-24 20:58:04
IOS源码
作者lqCoder,源码UIAutoScrollView,在开发过程中,如一个页面有许多的输入控件,UITextField和UITextView。编码的时候就要考虑控件获得焦点后,键盘是否会把这个控件遮挡,就得操作UIScrollView的滚动条位置。 我开发了UIAutoScrollView类,它能自动处理键盘遮挡问题,达到了一劳永逸的效果! 使用注意 1.如果是xib的方式使用这个类,不需要调用这个addAutoScrollAbility方法,我在awakeFromNib方法里调用了。 在xib中使用时,先在 xib中拖入一个UIScrollView,然后再把它的class属性设置为 UIAutoScrollView 2.如我在Demo 中的CodeScrollTestViewController中用UIAutoScrollView。必须设置UIAutoScrollView的contentSize,在加完 UIAutoScrollView的所有子控件的后,最后再调用下addAutoScrollAbility方法,这个顺序不能变。 3.如我在Demo 中的CodeScrollTestViewController中用UIAutoScrollView。在viewDidLoad中设置了 self.view.frame=CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height-self.navigationController.navigationBar.frame.size.height-[UIApplication sharedApplication].statusBarFrame.size.height); 这里必须设置下view的frame,原因是这时候view的高度已经超出了手机屏幕。 超出了navigationBar和statusBar的高度. 如果不这样设置后面的代码设置UIAutoScrollView的frame等于view的frame的时候,会造成 UIAutoScrollView超出手机屏幕,这样在UIAutoScrollView内部计算的时候会出bug.
【文件预览】:
UIAutoScrollView-master
----customUIScrollView()
--------Assets.xcassets()
--------main.m(338B)
--------BaseViewController.m(2KB)
--------MyViewController.m(1KB)
--------MyViewController.h(266B)
--------AppDelegate.h(281B)
--------AppDelegate.m(2KB)
--------Base.lproj()
--------CodeScrollTestViewController.h(240B)
--------BaseViewController.h(268B)
--------UIAutoScrollView.m(4KB)
--------UIAutoScrollView.h(982B)
--------MyViewController.xib(17KB)
--------Info.plist(1KB)
--------CodeScrollTestViewController.m(3KB)
----customUIScrollViewTests()
--------customUIScrollViewTests.m(936B)
--------Info.plist(733B)
----AutoScrollGif.gif(3.94MB)
----README.md(2KB)
----customUIScrollView.xcodeproj()
--------project.xcworkspace()
--------project.pbxproj(23KB)
--------xcuserdata()
----customUIScrollViewUITests()
--------customUIScrollViewUITests.m(1KB)
--------Info.plist(733B)