zoukankan      html  css  js  c++  java
  • ios自定义控件,使UIScrollView自己处理输入时键盘遮挡控件

      在开发过程中,如一个页面有许多的输入控件,UITextFieldUITextView。编码的时候就要考虑控件获得焦点后,键盘是否会把这个控件遮挡,就得操作UIScrollView的滚动条位置。

        我开发了UIAutoScrollView类,它能自动处理键盘遮挡问题,达到了一劳永逸的效果!

      

      

        1.如果是xib的方式使用这个类,不需要调用这个addAutoScrollAbility方法,我在awakeFromNib方法里调用了。 xib中使用时,先在xib中拖入一个UIScrollView,然后再把它的class属性设置为 UIAutoScrollView

        2.如我在Demo 中的CodeScrollTestViewController中用UIAutoScrollView。必须设置UIAutoScrollViewcontentSize,在加完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);     这里必须设置下viewframe,原因是这时候view的高度已经超出了手机屏幕。超出了navigationBarstatusBar的高度如果不这样设置后面的代码设置UIAutoScrollViewframe等于viewframe的时候,会造成UIAutoScrollView超出手机屏幕,这样在UIAutoScrollView内部计算的时候会出bug.

       Demo下载地址: https://github.com/lqCoder/UIAutoScrollView

  • 相关阅读:
    Android Studio AVD和SDK Manager灰色不能点击的问题。
    回溯:最佳调度问题
    回溯:八皇后问题(蒟蒻)
    usaco1.4.3等差数列
    单调队列练习题(oj p1157 p1158 p1159)
    OJP1147括号匹配加强版(栈)与P1153乱头发节(单调栈)
    NOIP2017游记......
    火柴棒等式c++
    潜伏者(noip09年t1)解题报告 C++
    2016noipday1t1玩具迷题结题报告
  • 原文地址:https://www.cnblogs.com/learnWindowsPhone/p/5078170.html
Copyright © 2011-2022 走看看