swift学习之路之UITabBrarController的简单使用

1、工具及版本

       swift:swift2.2;

        Xcode:7.2

2、效果图(做的比较简单,tab上没来得及准备图片,简陋,效果不是很好)


3、简单描述

     windows的桌面版QQ,手机QQ ,微信....很多应用的下方都用tab做切换,除了使用UITabBarController可以实现这样的效果外,还可以自己用其他的方式实现,比如:下方用一个UIView,上面摆放上对应的按钮。在将按钮贴图,最后实现tap不同的按钮的对应的事件。这里,简单使用UITabBarController控件。

     代码实现界面,没有用到storyboard。

4、功能简介

      底部有2个tab,点击每个tab , 切换到对应的视图内容。

5、代码

     新建一个swift工程。(个人比较喜欢iPhone5s,所以,设置的模拟器也为iPhone5s, 同时,我也取消了main.storyboard 的 “Use Auto Layout”(自动布局)和  “Use Size Classes”)

     

     A、新建一个名为 chats的swift文件。文件内容如下:

import UIKit

class ChatsController:UIViewController
{
    override func viewDidLoad() {
        super.viewDidLoad();
        
        /// 为了做区分,这里把背景设置为蓝色。
        view.backgroundColor = UIColor.blueColor();
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning();
    }
}
    B、同理,新建一个名为 mine 的swift文件。文件内容如下:

import UIKit

class MineController:UIViewController {
    
    var tableView:UITableView!;
    
    override func viewDidLoad()
    {
        super.viewDidLoad();
        
        /// 为做区分,这里把背景设置为绿色。
        view.backgroundColor = UIColor.greenColor();
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning();
    }
}
     C、我又自己新建了一个名为: CustomerController 的文件,代码如下:

import UIKit

class CustormerController:UITabBarController
{
    override func viewDidLoad() {
        
        view.backgroundColor = UIColor.clearColor();
        
        /// 创建子tab。
        let chats = ChatsController();
        let mine = MineController();
        
        /// 添加
        viewControllers = [chats, mine];
        
        UITabBar.appearance().tintColor = UIColor.greenColor();
        
        let firstItem = tabBar.items![0];
        firstItem.title = "chats";
        /// 没来得及准备图,所以设置为了nil.
        firstItem.image = nil;
        
        let secondItem = tabBar.items![1];
        secondItem.title = "mine";
        secondItem.image = nil;
    }
}
       D、打开 AppDelegate.swift 文件, 在下面的这个函数中添加下面的代码。或者用下面的代码替换原函数中得代码:

   函数名为:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
    函数体部分 代码:

     
        /// ----- 新增的 代码 --  开始 -----
        let frame = UIScreen.mainScreen().bounds;
        window = UIWindow(frame:frame);
        let root = CustormerController();
        window?.rootViewController = root;
        /// -----  新增的代码 -- 结束 ----
        
        
        return true
   接着,command + R,看看效果吧。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值