zoukankan      html  css  js  c++  java
  • iOS基础-UIKit框架-多控制器管理-实例:qq界面框架

    一、事前准备
    1.删除默认控制器文件,删除storyboard默认的控制器
    2.拖一个TabBarController,将连接的2个控制器删掉。
    3.拖4个导航控制器,将连接的控制器删掉.
    4.将这4个导航控制器按顺序连为TabBarController的子控制器
    5.拖一个TableView,设置为第一个导航控制器的根控制器,其他同理。

    6.注意动态这个界面的TableView的Content设为Static Cells,Style设为Grouped
    7.动态界面的Cell的Style设置为Basic
    8.点击动态界面的TableView,Sections设置为3(会自动拷贝之前的cell)

    二、功能实现
    1.功能实现:点击添加按钮后进入的添加界面,TabBar则隐藏起来。
    点击添加界面的View,勾上Hide BottomBar On Push

    整体框架

    2.功能实现:点击分组或者全部会处理相应事件
    1>新建一个联系人的控制器文件,继承自TableView Controller,并修改为对应Class(系统自带的控制器是无法拖线的,要想监听,必须用自定义控制器)
    2.监听这个分组/全部的SegmentedControl控件并实现方法

    //在这个方法中处理相应事件即可。
    -(IBAction)titleChange:(UISegmentedControl *)sender{
    
    }

    3.细节处理
    问题:当自定义一个关于QQ的控制器,然后将Class设置为它时,关于QQ图片下面的Cell不见了。
    原因:因为用的是静态单元格,不需要通过代码来告诉它们长什么样子
    但是,你自定义的这个控制器继承自UITableViewController,只要你继承自UITableViewController,Xcode就会帮你实现代理方法。而且都return 0.所以才不见的。
    解决方法:将Xcode帮你自动实现的代理方法删除掉即可。

  • 相关阅读:
    JavaEE基础(01):Servlet实现方式,生命周期执行过程
    Spring 框架基础(06):Mvc架构模式简介,执行流程详解
    Spring 框架基础(05):事务管理机制,和实现方式
    多线程搜索与排序
    mybatis的Mapper代理原理
    spring的RestTemplate使用指南
    探索CAS无锁技术
    两年Java的面试经验
    HashMap多线程并发的问题
    解析Mybaits的insert方法返回数字-2147482646的原因
  • 原文地址:https://www.cnblogs.com/marshall-yin/p/4741930.html
Copyright © 2011-2022 走看看