UIViewController自带的NavigationViewController不显示的问题

问题: 妹子最近在写代码的时候想使用一下UIViewController自带的navigationVIewController的时候发现无论在navigation中写入什么代码,界面都没有显示,通过分层图发现界面上压根就没有这个navigationBar的容器啊,哪里去了,哪里去了?

例子:先贴出妹子错误的示范:

if (self.navigationController) { // 去掉这一层也是错误的示范哦

self.navigationItem.title = @"姨吗爱买";

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@""] style:UIBarButtonItemStylePlain target:self action:@selector(selector)];

}

原因:查阅了navigationController的属性,发现没有在本界面设置某一个属性就可以使得navigationBar出来,而问题的根本在这里

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:firstViewController];

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.rootViewController = navigationController;

只有在APPdelegate中添加了这句话,并且保证self.window.rootViewController = navigationController;才会创建出navigationBar;

所以如果是简单的demo的话是可以直接这样使用的,但是一个复杂的demo中是需要用到各种视图控制器,比如tabBar这样两者就会发生冲突,面对这种情况下,小伙伴们要乖乖的自定义一个navigationViewController,添加到UITableView中,然后自定义这个navigationViewController,代码如下

例如:

@property (nonatomic, strong) UIView *tableHeaderView;

- (UITableView *)tableView

{

if (!_tableView) {

_tableView = [[UITableView alloc]initWithFrame:[UIScreen mainScreen].bounds style:UITableViewStylePlain];

_tableView.tableHeaderView = self.tableHeaderView;

}

return _tableView;

}

- (UIView *)tableHeaderView

{

if (!_tableHeaderView) {

_tableHeaderView = [[UIView alloc]init];

_tableHeaderView.frame = CGRectMake(0, 0, UIScreen.mainScreen.bounds.size.width, 100);

_tableHeaderView.backgroundColor = [UIColor clearColor];

}

return _tableHeaderView;

}

虽然写完以后觉得很简单,但是之前一直找不到原因啊,所以记录下来希望能帮到需要的小伙伴

时间: 2024-08-24 20:47:13

UIViewController自带的NavigationViewController不显示的问题的相关文章

VS自带报表的分组显示

本例用来显示Northwind中的order details表中的数据交分组 效果:如下 1.建立一WinForm程序,并建立一数据库连接,选择order details表,此时会自动建立一个xsd的数据集类,如下图 2.在项目中右键,新添加一个Report1.rdlc报表文件,并向此空白报表中添加一表格,如下图 数据集属性窗口中的"名称"是此报表的名称,在后面会用到,一定要记住. 以下为添加了表格的报表 3.从"报表数据"中把数据字段拖动到此表格中,行或列可以用右

JS实现—Base64编码解码,带16进制显示

代码如下: <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <titl

js实现html表格&lt;td&gt;标签中带换行的文本显示出换行效果

遇见问题 如下内容中我写了几行,但是表格中并未按行显示,换行符反而变成了空格,于是想自己转换下 思考问题 1.可以看到表格的内容是后端传来的数据,于是想直接在后端转换下,把换行符替换成<br>标签 2.想到就做,如下,写好后一跑,发现,<br>只是显示成了文本,并不会被html识别成标签...啪啪啪打脸 3.继续想,准备在数据加载后,在js里面处理下,把文本内容中的换行符转为<br>标签:但是如果一个内容有多行文字,我就要把它拆分为多个小节,<br>好加,但

mac 自带 php 验证码 不显示

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5 在命令行中输入上面   ,最后5.5是php版本号 自动安装FreeType ------------------------------------------ 参考 http://yangjunwei.com/a/1570.html 底部留言..

Vue--路由的基本使用(组件之间的跳转)new VueRouter---配置path和子组件---跳转路径带#&lt;a href=&quot;#/register&quot;&gt;---显示区域用&lt;router-view&gt;

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

iOS UIViewController API解读

/*UIViewController is a generic controller base class that manages a view. It has methods that are calledwhen a view appears or disappears. Subclasses can override -loadView to create their custom view hierarchy, or specify a nib name to be loadedaut

UIViewController全部API的学习。

/* UIViewController is a generic controller base class that manages a view.  It has methods that are called when a view appears or disappears. Subclasses can override -loadView to create their custom view hierarchy, or specify a nib name to be loaded

UIViewController所有API的学习。

<欢迎大家加入iOS开发学习交流群:QQ529560119> /* ?? ? UIViewController is a generic controller base class that manages a view.? It has methods that are called ?? ? when a view appears or disappears. ? ? ? ?? ? Subclasses can override -loadView to create their cust

安卓自带浏览器 position:fixed时 图片模糊问题

最近遇到一个问题:给一个div做position:fixed时,div里的图片在小米1s自带浏览器里面图片显示模糊了,而其它浏览器图片都是清楚的(说明:已经是2倍的图片了).代码如下: <div class="position:fixed">     <img src="xxx"> </div> 只要将posiiton:fixed去除时,图片又是清晰的.经过一方排插和google,确定该问题是andorid自带浏览器bug,在po