03-27---UIScrollView笔记

来源:互联网 发布:手机号能注册几个淘宝 编辑:程序博客网 时间:2024/06/05 16:35
2015.11.5  上午7:20-10:10
01--大图展示(uiscrollview的基本使用)
默认情况下,uiscrollview是不能滚动的。
需要设置相关的性质(滚到哪里是尽头。即contentSize),只能通过代码设置。如果发现设置了还没有效果的话,第一时间想到是autolayout的问题。
两步:(1)将大图的imageview加入到scrollview
             (2)设置contentsize.
如果不能滚动:四种可能。
               (1)contentsize 没有设置
               (2)    autolayout的原因
               (3)scrollenabled = no
               (4) 没有接收到触摸事件。
02-常见属性
      演示几个比较常用的属性。如果这些属性掌握的好的话。
     contentoffset 。。。。是一个点。
     contentinset  在外面增加的边距,外边距。
    scrollview.framesize是一个可视范围。
     最后那张图感觉还是不错的,完美的诠释了这几个属性。可以把那张图搞到我的博客上面去。
03-喜马拉雅山实例
      在第十二分钟左右的时候数码测试器可以很好的用来做颜色。
      button多宽多高,最好根据美工提供的图片来搞,因为这样不至于把button拉伸的太厉害。
     button:145*145
     contentsize :(w,h) 你哪个方向不能滚动,哪个就写0;


04-scrollview的代理
    pt和像素是不一样的,px是像素。 1x和29pt,就是29x29像素,如果2x和29pt的话就是58x58像素。pt就是点。
    1:显示大图
    2:一些穿透效果
    3:放大和缩小,对内容进行缩放
        捏合手势。
   4:详细地讲解了scrollview和delegate的通信。(在OC中,发送消息,就是调用方法)
      代理设计模式的作用:
       1:监听的思想,让一个对象A监听另一个对象B的状态
       2:通知的思想,一个对象B状态发生了改变,(做了某些事情),想通知另一个对象A。


05-scrollview的缩放。
    scrollview告诉代理,代理,我被捏了。我要缩放谁???代理是个大方法。


06-图片轮播器
07-图片轮播器--小bug修正
 第一:
    textfiled是继承自scrollview的,所以有滚动条。
   但是滚动textfield的时候,scrollview就不动了。
   涉及到线程的问题:默认系统会开一个线程,主线程。
   UI界面的刷新只能交给主线程干。。。
    所以不新建线程,而是使用时间分流。也就是你处理其他事情的时候,你也分点时间给定时器。或者让定时器的优先级提高。(反正用到定时器的时候,要注意,不然会影响到定时器。)
    [nsrunloop  currentrunloop]  addtimer :self.timer  formode:];
 




第二:
    而且你hold住scrollview的时候,scrollview又有定时器在控制。会出点问题。(憋的问题)。==解决方法:当用户一拽住的时候,就关闭定时器,当用户一松开的时候,就打开定时器。开始拖拽的时候调用的方噶是:scrollviewwillbegindrangging.
            定时器是一次性的,停止的时候顺便清空。下次要使用的话,创建新的定时器。
             停止拖拽的时候调用的方法是:scrollviewwillenddragging./scrollviewdidenddragging.(完全停止拖拽的时候调用)。


第三:
        imageview的复用。因为你如果图片的个数太多了的话,必须要这样来复用,不然的话特别的浪费。
第四:
        scrollview的无限滚动。
0 0
原创粉丝点击