iphone-添加UIViewController 的问题

问题描述

添加UIViewController 的问题

需要添加一个UIViewController 类到其他类中作为子视图。

myEventsView = [[EventNameViewController alloc]initWithNibName:@"EventNameViewController" bundle:nil];
[myEventsView.view setFrame:CGRectMake(0, 39, 320, 400)];
[self.view addSubview:myEventsView.view];

添加成功了,但是按钮动作出问题,导航到其他视图控制器的完全没用。这些动作的方法已经调用了,但是没有之心。不知道为什么会这样?谢谢

解决方案

问题没有表达明白.不知道你是不是这个意思:
你将EventNameViewController的view 作为subview 添加到父视图控制器中去.你想在EventNameViewController中的button来导航视图到另一个控制器中去,但你发现并没有按你预期的效果执行?

如果是这样的话, 你思考一下问题出在哪里? 为什么EventNameViewController不能导航到下一个视图?
其实原因很简单,主要是你的EventNameViewController 并不在导航控制器栈中,在导航控制器栈中的是它的父视图, 这里需要你在EventNameViewController中先访问到父视图再通过父视图来导航到下一个控制器.这是思路.
这里有一个解决方案:
在EventNameVIewcontroller 的Button 的IBAction中使用下面的代码来访问到父视图控制器

-(IBAction)navigateNextView {
     UIViewController *superController=(UIViewController *)[[[self.view superView] superView] nextResponder];

       UIViewController *nextController=......
       [superController.navigationController pushViewController:nextController animated:YES];
}

解决方案二:

EventNameViewController 不是被push到navigation viewcontroller栈中的 所以
它的 self.navigationController是nil的, 所以你在EventNameViewController 不能用 self.navigationController pushViewController来跳屏,你应该这样用

  myEventsView = [[EventNameViewController alloc]initWithNibName:@"EventNameViewController" bundle:nil];
  [myEventsView.view setFrame:CGRectMake(0, 39, 320, 400)];
  [self addChildViewController:myEventsView];

EventNameViewController里跳屏这样写

  //EventNameViewController里跳屏地方用这
  [self.parentViewController.navigationController pushViewController: animated:];
时间: 2024-10-28 18:09:45

iphone-添加UIViewController 的问题的相关文章

iTools教你如何给iPhone添加封面歌词

也许我们可以找到很多种方法下载到各种高音质的音乐,打开iPhone/iPod,看着光秃秃的音乐播放界面,是不是觉得有点枯燥?没有封面和歌词岂不是浪费了这色彩绚丽的3.5寸大屏?无需下载第三方音乐播放器,iTools让你的iPhone音乐炫起来.下面就来看看怎样给音乐一键添加封面歌词: NO.1.打开iTools并连接ios设备,点击[媒体库],选择音乐,点击[批量添加],iTools自动下载安装封面歌词到制定音乐中.当然,完成后需要同步到苹果设备中才能生效. 图1 打开iTools并连接ios设

OmniFocus为iPhone添加“icloud捕捉” 导入iOS提醒

iOS提醒界面截图据国外媒体报道,根据最近更新的OmniFocus管理中,Omni集团已想出一个办法让这个应用程序的提醒和iCloud同时打开,自动提取通过创建拥有iphone4S 的 Siri里的提醒程序.Omni全组实施了一项新的功能称为icloud捕获,能够提醒你icloud帐户,然后移动到你Omni Focus收件箱中.在实际操作上需要输入icloud捕获,否则将留到提醒功能中.它错觉上的本土融合的帮助,让icloud和苹果ID之间的桥梁作为Siri和Omni Focus的提醒功能.这种

iPhone添加LotusNotes自动同步支持

5月14日消息,据国外媒体报道,IBM将为iPhone用户添加对Lotus Notes的自动同步支持. 本周二公司表示Lotus Notes和将于今年推出的Domino 8.5.1将共同推出用于Lotus Notes Traveler的资料管理(Exchange ActiveSync)支持.以此实现在iPhone上接收几乎实时的新信息通知以及会议. 使用苹果智能手机的用户已经可以通过iNotes Ultralite登陆Notes电子邮件,然而新版本的Lotus Notes Traveler将使用

怎么用苹果助手为Iphone添加铃声?

  1.手机与电脑连接,双击打开该软件. 2.在我的设备--设备资源中单击"铃声",界面右侧会出现相应的菜单及已有的自制铃声,点击"制作铃声". 3.铃声制作面板中选择制作何种铃声及从何处选择音乐文件.我选择使用本地音乐(电脑中的音乐)制作来电铃声. 4.在你的音乐文件夹中选取喜欢的音乐,打开.这里以<假如爱有天意>为例. 5.打开后的界面,原音乐长度. 6.苹果的铃声一般在40秒以内,所以设置自己喜欢的起始与结束时间,然后点击播放按钮试听.你说我就直接

德国黑客为越狱iPhone添加类似ASLR的安全机制

安全顾问和应用程序开发者,德国人Stefan Esser最近做出一件意义非凡的事情,他在韩国一个社区安全会议上宣布,圣诞节期间他将公布一套面向越狱后的苹果 iOS设备的安全机制.我们知道iOS产品越狱后就可以安装第三方应用,包括善意的和恶意的,因此苹果一直表示越狱iOS将会带来安全后果,但Esser带来的技术却类似于Windows 7的ASLR - "地址空间布局随机化",它可以让大多数恶意软件找不到攻击入口.498)this.w idth=498;' onmousewheel = '

【iOS】UIViewController、UINavigationController与UITabBarController的整合使用

原文  http://blog.csdn.net/rongxinhua/article/details/20214293 UINavigationController与UITabBarController是iOS开发中最常用的两种视图控制器,它们都属于UIViewController的子类,继承关系如下: @interface UITabBarController : UIViewController @interface UINavigationController : UIViewContr

特朗普炮轰苹果 称其应破解恐怖分子iPhone

2月18日消息,据CNN报道,美国总统参选人特朗普(Donald Trump)日前表示,苹果公司应该遵守法官判令,帮助联邦调查局破解加州圣贝纳迪诺郡枪击案枪手的iPhone. 特朗普在接受电视访问时表示:"我100%赞同法院立场.就此案来说,应当把手机破解.我是从安全角度出发--必须把这部手机破解.我们要动脑子,要从常理出发考虑事情." 特朗普坚决主张苹果应该解锁涉案手机.他还表示,枪手"射杀14人,还有其他人因此入院.这里面有问题.我们要提高警惕,要当心." &q

深入Objective-C的动态特性

Objective-C具有相当多的动态特性,基本的,也是经常被提到和用到的有动态类型(Dynamic typing),动态绑定(Dynamic binding)和动态加载(Dynamic loading). 这些动态特性都是在Cocoa程序开发时非常常用的语言特性,而在这之后,OC在底层也提供了相当丰富的运行时的特性,比如枚举类属性方法.获取方法实现等等.虽然在平常的Cocoa开发中这些较底层的运行特性基本用不着,但是在某些情况下如果你知道这些特性并合理加以运用的话,往往能事半功倍- 动态特性基

Photoshop绘制逼真的苹果手机教程

第1步: 打开Photoshop,Ctrl+N新建文件. 第2步: 利用圆角矩形工具创建出iPhone的轮廓.这里我使用的圆角为50px. 第3步: 为iPhone添加图层样式如下.先添加外发光,然后进行描边. 第4步: 在iPhone的顶部及左右两侧创建颜色为#52524e的矩形. 第5步: 继续利用圆角矩形工具在iPhone中创建半径为50px的圆角矩形.填充为黑色. 然后为其添加图层样式. 分类: PS鼠绘教程