zoukankan      html  css  js  c++  java
  • UIScrollView的使用2个妙招:键盘遮挡,View 支持滚动

     UIScrollView的相关概念

    首先介绍下UIScrollView的相关概念

    contentSize是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。
    contentOffset是scrollview当前显示区域顶点相对于frame顶点的偏移量,比如上个例子你拉到最下面,contentoffset就是(0 ,-480),也就是y偏移了- 480(注意向下拉,偏移是负数,向上才是正数,这个我测试过的)
    contentInset是scrollview的contentview的顶点相对于scrollview的位置,例如你的contentInset = (0 ,100),那么你的contentview就是从scrollview的(0 ,100)开始显示

    (以上引用来自http://www.cnblogs.com/try2do-neo/archive/2011/10/13/2210532.html) 

    概念说完了,看下面的用处
    1.键盘遮挡。
    有些输入框在View最下面,键盘调出来的时候,需要将输入框调整到可见区。如果View里控件少,那么直接修改frame就能实现,自己加点动画,效果可还不错。
    但是如果控件很多,那么一个一个控件都修改frame太繁琐。如果将这些控件放到一个UIScrollView里,那么修改UIScrollView里的ContentOffSet的值。
    比如默认情况下,ContentOffSet(0,0),键盘输入的时候,设置ScrollView的偏移为(0,150)(整个画面向上移动150的像素)等输入完成的时候再设置ScrollView为(0,0)
    2.View 支持滚动
    让整个View支持上下滚动。通过xib设置的View不支持Scroll,使用起来不同上线滚动。用户体验不太好。为了让普通的View也支持Scroll有2种办法
     1。将这个View放在TableView里.
     2。 在View里添加一个ScrollView,将所有其它的控件全放在这个ScrollView里。放在View里有个技巧。需要设置contentSize,比如你的View大小是(320,480),那么ScrollView的大小需要设置为(320,481),多一个像素出来,让其支持滚动,还是很好的。
  • 相关阅读:
    在WIN10下搭建Robot Framework环境
    Robot Framework导入selenium2library库不成功的解决方法
    git命令大全
    Axure RP 8过期,用户名和序列号(注册码)
    MySQL用命令行快速导出数据备份
    JMeter—正则表达式提取器
    用JMeter进行接口测试
    d3-project
    bower 问题
    andriod studio
  • 原文地址:https://www.cnblogs.com/likwo/p/2219983.html
Copyright © 2011-2022 走看看