ios开发为什么要个一个ios tableviewcellontroller加一个navigation controller

在 SegmentFault,解决技术问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
一线的工程师、著名开源项目的作者们,都在这里:
获取验证码
已有账号?
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
- (void)viewDidLoad{
[super viewDidLoad];
self.navigationItem.title = @"Order List";
self.tb.enableAppend = YES;
self.tb.enableRefresh = YES;
self.tb.RADelegate =
self.automaticallyAdjustsScrollViewInsets = NO;
ManagerSiteTableViewController *managerSite = [ManagerSiteTableViewController sharedLeftTableViewController];
managerSite.delegate =
UIBarButtonItem *leftMenu = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reveal-icon.png"]
style:UIBarButtonItemStyleBordered
target:self
action:@selector(leftMenu)];
self.navigationItem.leftBarButtonItem = leftM
NSLog(@"nav:%@",self.navigationController);
[self.revealSideViewController setDirectionsToShowBounce:PPRevealSideDirectionLeft];
-(void)leftTableViewController:(ManagerSiteTableViewController *)leftTableViewController pushViewController:(UIViewController *)pushVC{
NSLog(@"pushVC:%@",self.navigationController);
[self.navigationController pushViewController:pushVC animated:YES];
self.navigationController 在viewDidLoad里显示是正常的
但在下面的那个方法里就为空,这是什么原因?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
下面那个方法在什么情况下会被执行到啊?只有在当前的viewcontroller是在一个navigation controller里的时候, 它的navigationController属性才是非nil的, 如果当前viewcontroller已经被pop出去了, 那navigationController就是nil了。
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:手上的项目中登陆界面是写在presentModalViewController中的,但是无法使用UINavigationController,后来费了一些时间来弄,可能因为当时思维比较混乱,没有搞定。
今天查到了一篇文章,http://www.giser.net/?p=857 惯例 原文录入,避免个人博客died
在iOS开发中遇到下面的问题,在presentModalViewController出来ViewController的TableView中无法使用navigationController的pushViewController方法弹出新的页面。
后来发现原因ViewController的navigationController的属性为nil。
解决办法为,在presentModalViewController的时候自己创建一个navigationController,这样ViewController的navigationController属性不为nil,即可使用pushViewController。
代码如下:
POIListViewController * poiListVC = [[POIListViewController alloc] initWithNibName:@&POIListViewController& bundle:nil];
poiListVC.poisArray = self.searchR
poiListVC.delegate =
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:poiListVC];
[self presentModalViewController:navController animated:YES];
[navController release];
[poiListVC release];
最后贴上自己的代码
-(IBAction)logout:(id)sender{
[ActiveUser sharedActiveUser].logined=NO;
self.logoutButton.enabled=[ActiveUser sharedActiveUser].
UILoginViewController* loginViewController=[[UILoginViewController alloc] initFromNib];
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:loginViewController];
navController.navigationBarHidden=YES;
[[Global sharedGlobal].mainViewController presentModalViewController:navController
animated:NO];
[loginViewController release];
[navController release];
本文已收录于以下专栏:
相关文章推荐
使用UIViewController时,将viewcontroller放入UINavigationController的栈里,和将viewcontroller用modalView的方式显示出来时,混用...
通常来说,我们在实现ios视图跳转
1.首先要明确一点:要想让被推出来的视图有导航栏,那被推出来的视图肯定是被添加到Navigation导航视图的
2.所以代码步骤是这样的(在这里,TLDNavigationController是我自...
视图切换,没有NavigationController的情况下,一般会使用presentViewController来切换视图并携带切换时的动画,
其中切换方法如下:
– presentV...
如题,现在我们控制页面present到一个UINavigationController页面去SCMyCardDesignCollectionViewController
*vc = [[SCMyCa...
在实际开发中,如果要弹出视图:
我们常用到presentModalViewController方法和dismissModalViewControllerAnimated方法。
在实际开发中,如果要弹出视图:
我们常用到presentModalViewController方法和dismissModalViewControllerAnimated方法。
presentMod...
在实际开发中,如果要弹出视图:
我们常用到presentModalViewController方法和dismissModalViewControllerAnimated方法。
presentMod...
Present ViewController Modally 
一、主要用途
  弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的...
Present ViewController Modally 
一、主要用途
  弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的...
他的最新文章
讲师:姜飞俊
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)iOS开发 更改UINavigationController的起始位置 - 简书
iOS开发 更改UINavigationController的起始位置
最近遇到一个问题是这样的,在UINavigationController中通过segment进行视图的却换,但是多个View出现了一个问题,view的起始点不同,除第一个视图在navigationbar的下面,其他视图都被navigation bar遮住了(我的view里面放的都是tableView)。
当view识别到Navigationbar时,(0,0)点在navigation bar的下面,但有时又无法识别到Navigationbar,所以它的起始点又回到顶端的(0,0)点。
Navigationcontroller有个automaticallyAdjustsScrollViewInsets的属性,默认是YES.我们可以统一把(0,0)点设置到最顶端,然后统一下调View的位置,把View的frame中起始点设为CGRectMake(0,44,XXX,XXX),这样就解决了Navigationbar时不时遮挡View的问题了。设置代码如下:
self.navigationcontroller.automaticallyAdjustsScrollViewInsets=NO;
注意:支持iOS7.0及更高版本。}

我要回帖

更多关于 ios tableview 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信