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应用程序中,开发人员既可以建立和访问程序自 ...
随机推荐
- iOS 管理库 Carthage 安装以及使用
https://blog.csdn.net/Mazy_ma/article/details/70185547
- 过滤输入htmlentities与htmlspecialchars用法
过滤输入 (即来自所列数据源中的任何数据)是指,转义或删除不安全的字符.在数据到达应用的存储层之前,一定要过滤输入数据.这是第一道防线.假如网站的评论表单接收html,默认情况下 访客可以毫无阻拦地在 ...
- 粘性Service
粘性Service就是一种服务 把他删去他又会马上创建 原理是在这个服务中去开启线程不断检测此服务是否存在如果不存在,咋就会重新创建 import android.app.Activity; impo ...
- centos7下编译安装php-7.0.15(PHP-FPM)
centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...
- 证书吊销列表(CRL)介绍
一.证书吊销列表(CRL) 证书吊销列表 (Certificate Revocation List ,简称: CRL) 是 PKI 系统中的一个结构化数据文件,该文件包含了证书颁发机构 (CA) 已经 ...
- Spring官方文档翻译(1~6章)
Spring官方文档翻译(1~6章) 转载至 http://blog.csdn.net/tangtong1/article/details/51326887 Spring官方文档.参考中文文档 一.S ...
- vue的过滤器
Vue.Js 提供了强大的过滤器API,能够对数据进行各种过滤处理,返回需要的结果 vue的过滤器一般在JavaScript 表达式的尾部,由“|”符号指示: 过滤器可以让我们的代码更加优美,一般可以 ...
- eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式。 后者无法自动编译java 成class文件到classes包下。
eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式. 后者无法自动编译java 成class文件到classes包下. 建议使用run as - run ...
- C++加速程序的全局执行函数
static int wing=[]() { std::ios::sync_with_stdio(false); cin.tie(NULL); ; }(); C++的cin和cout在输入输出时,会先 ...
- SEO方式之HTTPS 访问优化详解
SEO到底要不要做HTTPS?HTTPS对SEO的重要性 正方观点 1.HTTPS具有更好的加密性能,避免用户信息泄露: 2.HTTPS复杂的传输方式,降低网站被劫持的风险: 3.搜索引擎已经全面支持 ...