zoukankan      html  css  js  c++  java
  • iOS边练边学--父子控件之作为导航控制器的子类产生的问题以及网易新闻练习

    一、导航控制器的子类

    • 作为导航控制器的子类,并且是导航控制器子类中的第一个,系统会默认给子控件添加EdgeInsert属性,把导航栏的宽度挤出来。但是系统只会默认修改第一个。
    • 解决办法1:系统帮忙给第一个子控件添加了EdgeInsert,之后的子控件可以自己添加。
    • 解决办法2:将系统默认的操作取消 -- 
      // 自动调整scrollView的inserts     Adjust--调整的意思
          self.automaticallyAdjustsScrollViewInsets = NO;
    • 解决办法3:

    二、网易新闻练习

      <1>搭建基本布局

      <2>联系中导航栏没有用按钮,用到了label -- 注意:label默认是不与用户进行交互的,设置:self.userInteractionEnabled = YES;

      一下代码是给label添加点击的手势

      <3>添加子控件,应该是导航栏有分几个模块,就对应有几个不同的子控制器。练习中,只用了一个控制器来搞了。以后的项目中要分开

      <4>通过代理实现要求的滚动效果,一个是监听人为滚动,动画速度减到0时的方法scrollViewDidEndDecelerating:

    ,另一个是监听动画完成后的滚动

      注意:练习中遇到了如图的bug,主要是因为用storyboard布局 600 * 600   显示的时候要经过自动布局,缩小到相应手机的屏幕大小。也就是有的尺寸要进行缩放。练习中自己取出的view是显示出来的尺寸375,而从storyboard中显示出来是在600的尺寸。系统会自动布局适应屏幕大小,600压缩到375,相应的里面的子控件也会从375压缩的更小。就出现了如图所示。

      <5>时刻监听scrollView的滚动,实现导航文字大小和颜色的变换

      <6>练习中出现的几个bug,在代码中有相应的解决办法

        

      <7>监听滚动,label要跟随滚动出现动画效果。封装了label,通过赋值label的scale,label根据scale自己设置将要显示的文字大小和颜色

  • 相关阅读:
    Linq in
    wp7中应用程序清单(WMAppManifest.xml)详细说明
    wp7 给TextBox设置圆角边框
    js 中的闭包
    远程控制PPT软件的帮助
    wp7三种图标大小配置
    在英文版的sqlserver下用LIKE语句不能查询中文
    程序员版《那些年我们一起追过的女孩》(2)
    程序员版《那些年我们一起追过的女孩》(3)
    webbrowser 请求的资源在使用中。 (异常来自 HRESULT:0x800700AA)
  • 原文地址:https://www.cnblogs.com/gchlcc/p/5407973.html
Copyright © 2011-2022 走看看