Swift实战-小QQ(第3章):QQ主界面布局
1.导航栏外观设定
*在AppDelegate.swift文件中的didFinishLaunchingWithOptions方法添加以下代码
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
//.导航栏
var navBar=UINavigationBar.appearance()
//.设置导航栏标题颜色
navBar.titleTextAttributes = [ NSForegroundColorAttributeName : UIColor.whiteColor()]
//.设置导航栏按钮颜色
navBar.tintColor = UIColor.whiteColor()
//.设置导航栏背景颜色
navBar.barTintColor=UIColor(red: 49.0/255.0, green: 183.0/255.0, blue: 235.0/255.0, alpha: 1.0)
return true
}
2.让状态栏显示白色
*让launch页面启动时状态栏显示黑色
在plist文件中设定键:Status bar style 值:Gray style (default)
*让App应用程序的状态栏显示白色
在plist文件中设定键:View controller-based status bar appearance 值:NO
在AppDelegate.swift文件中的didFinishLaunchingWithOptions方法添加以下代码
UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: false)
3.建一个tabbarController 三个navigationController 三个ViewController

4.将SliderViewController文件中的initSubViews后面添加代码:
//用mainContentView装下MainTab
var mainTabVC: UITabBarController! = self.storyboard!.instantiateViewControllerWithIdentifier("MainTabViewController") as UITabBarController mainContentView.addSubview(mainTabVC.view)
5.MessageViewController(消息),添加导航栏控件代码:
override func viewDidLoad()
{
super.viewDidLoad()
//左侧显示头像
var photoView:UIImageView=UIImageView(image: UIImage(named: "AppIcon-160x60@2x.png"))
photoView.frame=CGRectMake(, , , )
var photoItem:UIBarButtonItem=UIBarButtonItem(customView: photoView)
self.navigationItem.leftBarButtonItem=photoItem
//头像变圆形(设弧度为宽度的一半)
photoView.clipsToBounds=true
photoView.layer.cornerRadius=photoView.bounds.width*0.5
//设置titleView为
var titleSegment=UISegmentedControl(items: ["消息", "电话"])
titleSegment.selectedSegmentIndex=
self.navigationItem.titleView=titleSegment
//左侧一按钮
var rightButton:UIButton=UIButton()
rightButton.frame=CGRect(origin:CGPointZero, size: CGSize(width: , height: ))
rightButton.setBackgroundImage(UIImage(named: "menu_icon_bulb.png"), forState: UIControlState.Normal);
var rightItem:UIBarButtonItem=UIBarButtonItem(customView: rightButton)
self.navigationItem.rightBarButtonItem=rightItem
}
最终效果:
Swift实战-小QQ(第3章):QQ主界面布局的更多相关文章
- 【Android】7.0 第7章 简单适配器和布局--本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-02-09 修改日期:2016-02-13 一.在AssemblyInfo.cs文件中配置应用程序清单 前面的章节我们说过,除了在And ...
- 【Android】13.0 第13章 创建和访问SQLite数据库—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-02-26 一.简介 Android 内置了三种数据存取方式:SQLite数据库.文件.SharedPreferences. 这一章我们 ...
- 【Android】19.0 第19章 前面章节的代码优化及本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-03-05 一.简介 这一章我们介绍"共享存储和内容提供程序"的基本用法. 二.先优化一下前面章节例子的代码 在前面 ...
- 【Android】第18章 位置服务和手机定位—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-03-04 一.简介 目前,基于位置的服务发展迅速,已涉及到商务.医疗.定位.追踪.敏感区域警告.工作和生活等各个方面.定位服务融合了G ...
- 【Android】17.0 第17章 服务绑定—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-03-03 一.简介 通过服务绑定(Bound Services),可以轻松实现后台服务与界面(UI)的交互. 二.本章示例主界面 1. ...
- 【Android】12.0 第12章 Intent及其过滤器—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 这一章我们主要学习Intent的基本用法,并通过例子演示如下功能: 如何启动另一个界面: 如何获取另一个界面的返回 ...
- 【Android】11.0 第11章 活动和片段--本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-02-21 一.简介 这一章我们学习activity和fragment,深入理解activity和fragment的生命周期是如何工作的 ...
- 【Android】16.0 第16章 自定义服务和系统服务—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-03-01 一.简介 本章主要演示Started Service.带Intent过滤器的Started Service.IntentSe ...
- 【Android】15.0 第15章 广播和通知—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-02-28 一.简介 广播(Broadcast):其功能类似于收音机的广播,你只要调到那个台(只要在接收的类中注册了要接收的广播),就能 ...
- 【Android】14.0 第14章 内部存储与外部SD卡存储—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-02-27 一.简介 Android使用的文件系统是基于Linux的文件系统,在Android应用程序中,开发人员既可以建立和访问程序自 ...
随机推荐
- 只有自己看的懂的vue 二叉树的3级联动
我是在vue做的数据 actions mutations state index页面获取值 传递给子页面 子页面的操作 <template> <div class='cascade_ ...
- dataTables常用参数
一.新版本和老版本的区别 新版本的改进:https://datatables.net/new/1.10 新老版本参数变化列表:http://datatables.club/upgrade/1.10-c ...
- DNA甲基化研究概述
DNA甲基化研究概述 生信技能树 已关注 2018.01.23 11:43 字数 993 阅读 183评论 0喜欢 1 DNA甲基化(DNA methylation)是最早被研究的重要表观遗传修饰之一 ...
- RNA-seq连特异性
RNA-seq连特异性 Oct 15, 2015 The strandness of RNA-seq analysis 前段时间一直在研究关于illumina TrueSeq stranded RNA ...
- BZOJ2424 [HAOI2010]订货 - 费用流
题解 (非常裸的费用流 题意有一点表明不清: 该月卖出的商品可以不用算进仓库里面. 然后套上费用流模板 代码 #include<cstring> #include<queue> ...
- git 提交新创建的文件
git add -u:把所有tracked文件中被修改过或已删除文件的信息添加到索引库.它不会处理untracted的文件. 如果想将本地新创建的文件也提交上去,需执行如下操作:
- apicloud管理
以下所有操作都是指“apicloud”平台下的管理: 1. 一定要记得备份证书.证书不是因为你记得别名和密码就能还原的.因为apicloud是服务器session存数据,千万不要打开多个app操作页面 ...
- 1、HttpClient初探
HttpClient是它的核心接口.可以理解为一个简单的浏览器. 主要方法有: getParams(); 获取运行参数 getConnectionManager(); 获取连接管理器.连接管理器中 ...
- oss browser
版本问题 https://github.com/aliyun/oss-browser/blob/master/all-releases.md?spm=5176.doc61872.2.7.Ic2az6& ...
- C语言学生管理系统源码分享
大家好 我就是如假包换的...陈玲 自从运营了C语言程序设计微信公众号 很多粉丝都给我备注 ...奇葩 实在是不敢当 也被人开始叫玲玲姐 我知道 很多人都想看我出境 我本人也有 年多的舞台演讲训练 实 ...