UITabBarController加载之后不显示sub view controller
原代码:
fileprivate func createSubiewControllers() {
let newsVC = NewsViewController()
let newsItem = UITabBarItem(title: "动态", image: UIImage(named: "TabNewsNormal"), selectedImage: UIImage(named: "TabNewsPressed"));
newsVC.tabBarItem = newsItem
let discoverVC = DiscoverViewController()
let discoverItem = UITabBarItem(title: "发现", image: UIImage(named: "TabDiscoverNormal"), selectedImage: UIImage(named: "TabDiscoverPressed"));
discoverVC.tabBarItem = discoverItem
let nullVC = UIViewController()
let nullItem = UITabBarItem()
nullVC.tabBarItem = nullItem
let messageVC = MessageViewController()
let messageItem = UITabBarItem(title: "消息", image: UIImage(named: "TabMessageNormal"), selectedImage: UIImage(named: "TabMessagePressed"));
messageVC.tabBarItem = messageItem
let meVC = MeViewController()
let meItem = UITabBarItem(title: "我", image: UIImage(named: "TabMeNormal"), selectedImage: UIImage(named: "TabMePressed"));
meVC.tabBarItem = meItem
self.viewControllers = [newsVC, discoverVC, nullVC, messageVC, meVC]
let tabBarHeight = self.tabBar.frame.size.height
let addButton = UIButton(type: .custom)
if let addImage = UIImage(named: "TabAddButton") {
addButton.frame = CGRect(x: , y: , width: addImage.size.width * (tabBarHeight - ) / addImage.size.height, height: tabBarHeight - )
addButton.setImage(addImage, for: .normal)
}
addButton.layer.masksToBounds = true
addButton.layer.cornerRadius =
var center = self.tabBar.center
center.y = self.tabBar.frame.size.height /
addButton.center = center
self.tabBar.addSubview(addButton)
}
效果:
没有显示第一个“动态”viewController。

原因:
self.viewControllers中要放UINavigationController所以将
self.viewControllers = [newsVC, discoverVC, nullVC, messageVC, meVC]
改为
let navNewsVC = UINavigationController(rootViewController: newsVC)
let navDiscoverVC = UINavigationController(rootViewController: discoverVC)
let navMessageVC = UINavigationController(rootViewController: messageVC)
let navMeVC = UINavigationController(rootViewController: meVC)
self.viewControllers = [navNewsVC, navDiscoverVC, nullVC, navMessageVC, navMeVC]
即可正确显示。
UITabBarController加载之后不显示sub view controller的更多相关文章
- ie6,7下js动态加载图片不显示错误
ie6,7下js动态加载图片不显示错误 先描述一下出现这种匪夷所思bug的背景: 我在页面加载的时候加载一堆小缩略图,<a href="javascript:void(0);" ...
- Fullcalendar改版后发布到IIS或者tomcat里面前端加载数据不显示的问题
问题如题:Fullcalendar改版后发布到IIS或者tomcat里面前端加载数据不显示的问题 解决办法:通过火狐浏览器工具发现是时间格式不对的原因,需要将时间格式修改为:yyyy-MM--DD ...
- vue项目未加载完成前显示loading...
1.在Index.html里面加入loading的元素,让loading元素显示,让app元素隐藏 <!DOCTYPE html> <html> <head> &l ...
- IE8中jQuery.load()加载页面不显示的原因
一.jQuery.load() jQuery.load(url,[data],[callback])通过Ajax异步请求加载服务器中的数据,并把数据放到指定元素中. url :请求服务器的地址 dat ...
- 在页面未加载完之前显示loading动画
在页面未加载完之前显示loading动画 这里有很多比这篇博客还优秀的loading动画源码 我还参考这篇博客 loading动画代码demo 我的demo预览 <!DOCTYPE html&g ...
- 练习PopupWindow弹出框之实现界面加载的时候显示弹出框到指定的view下面--两种延迟方法
今天在练习PopupWindow弹出框的时候,打算在界面加载的时候将弹出框展现出来并显示在指定的view下面. 初步方法是直接在OnResume方法里面直接执行showPopupWindows方法. ...
- 动态的计算行高 加载数据源 有多少显示多少 tableView 包含 colloctionView 显示复杂的界面写法
有时候,我们经常碰到这样的需求 先遵守代理 @interface PublishCollectionCell ()<UICollectionViewDataSource, UICollectio ...
- WPF仿Tabcontrol加载切换多个不同View
在同一块区域显示不同的视图内容,直接使用Tabcontrol,可能要重写TabItem的控件模板,最直接的方法通过按钮的切换,控制一个ContentControl的Content值,实现切换不同的视图 ...
- Jquery判断页面图片是否加载失败,加载失败则显示默认图片
例子: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...
随机推荐
- mongodb .net driver
1.介绍 The official MongoDB .NET Driver provides asynchronous interaction with MongoDB. Powering the d ...
- python 列表函数
list函数: 功能:将字符创转化为列表,例: 列表基本函数: 1.元素赋值,例: 注意:通过list[0]= 'hel',如果原来位置上有值,会覆盖掉原来的. 2.分片操作 1)显示序列,例: 注意 ...
- Scanner
/* next()与nextLine()区别 next(): 1.一定要读取到有效字符后才可以结束输入. 2.对输入有效字符之前遇到的空白,next()方法会自动将其去掉. 3.只有输入有效字符后才将 ...
- FZU 2219 StarCraft(星际争霸)
Description 题目描述 ZB loves playing StarCraft and he likes Zerg most! One day, when ZB was playing SC2 ...
- 关于HTML5与移动开发
OSChina API列表: android api:http://tool.oschina.net/apidocs AppCan移动开发平台:http://doc.appcan.cn/#!/guid ...
- iOS - OC NSUserDefaults 数据存储
前言 @interface NSUserDefaults : NSObject 用来保存应用程序设置和属性.用户保存的数据.用户再次打开程序或开机后这些数据仍然存在.如果往 userDefaults ...
- iOS - ASIHTTPRequest 网络请求
前言 使用 iOS SDK 中的 HTTP 网络请求 API,相当的复杂,调用很繁琐,ASIHTTPRequest 就是一个对 CFNetwork API 进行了封装,并且使用起来非常简单的一套 AP ...
- JS 和 Java 中URL特殊字符编码方式
前几天遇到url特殊字符编码的问题,在这里整理一下: JavaScript 1. 编码 escape(String) 其中某些字符被替换成了十六进制的转义序列. 解码 unescape(String ...
- htm Dom对象与 Xml Dom对象的理解
html 是基于Xml的文档规范.是一种特殊的xml文档,这一点很重要 1.xml 文档的操作,java,c#,...各种语言都提供了很好的api对文档进行解析,操作.当然js 也不例外,提供了一系列 ...
- js模块化编程总结
大家都知道,js中的变量(variable)有其作用范围,比如:函数里用var定义的变量在函数外是看不到的,而定义在函数外面的变量(不能有没有var修饰)均是全局变量,在js程序的任何位置都可以访问. ...