Iphone UIPopoverController&;导航到UIViewController?
我正在为iPad开发应用程序。我能够显示UIPOPCovercontroller和tableView,并在VIEW1中显示一些列表 当用户从表中选择行时,我希望从VIEW1导航到VIEW2 换句话说,Iphone UIPopoverController&;导航到UIViewController?,iphone,xcode,uiviewcontroller,uipopovercontroller,uipopover,Iphone,Xcode,Uiviewcontroller,Uipopovercontroller,Uipopover,我正在为iPad开发应用程序。我能够显示UIPOPCovercontroller和tableView,并在VIEW1中显示一些列表 当用户从表中选择行时,我希望从VIEW1导航到VIEW2 换句话说, 视图1包含一个按钮1 当用户按下按钮1时,弹出窗口显示在视图1上 在popover中,有一个带有一些行的表。(图1) 当用户选择一行时,它应该调用VIEW2,即从VIEW1导航到VIEW2 谢谢您的帮助。在“表格视图”控制器文件中,您需要使用didSelectRowAtIndexPath方法来显示
谢谢您的帮助。在“表格视图”控制器文件中,您需要使用
didSelectRowAtIndexPath
方法来显示视图2,例如:
[self presentViewController:view2controller animated:YES completion:nil];
在tableview委托方法didSelectRowAtIndexPath中,可以按如下方式调用方法:
-(void)setTarget:(id)inTarget andSelector:(SEL)inSelector {
mTarget = inTarget;
m_Selector = inSelector;
}
if ([m_Target respondsToSelector:m_Selector]) {
[m_Target performSelector:m_Selector withObject:nil];
}
1.初始化popover控制器时,按如下方式定义目标和选择器:
[控制器设置目标:self和selector:@selector(yourMethod:)]
2.在包含tableview的view controller中,您可以定义setTarget方法,如下所示:
-(void)setTarget:(id)inTarget andSelector:(SEL)inSelector {
mTarget = inTarget;
m_Selector = inSelector;
}
if ([m_Target respondsToSelector:m_Selector]) {
[m_Target performSelector:m_Selector withObject:nil];
}
其中mTarget为id类型,mSelector为选择器
3.然后选择Rowatindexpath,您可以按如下方式调用您的方法:
-(void)setTarget:(id)inTarget andSelector:(SEL)inSelector {
mTarget = inTarget;
m_Selector = inSelector;
}
if ([m_Target respondsToSelector:m_Selector]) {
[m_Target performSelector:m_Selector withObject:nil];
}
如果表视图在同一视图中,那么您可以在didSelectRowAtIndexPath中调用您的方法。我找到了答案。只需将UITableViewController添加到UIPopOverController,即可从VIEW1导航到VIEW2 谢谢你的努力。下面是代码
tableViewController = [[UITableViewController alloc]initWithStyle:UITableViewStylePlain];
tableViewController.tableView = tblView;
tableViewController.tableView.delegate = self;
tableViewController.tableView.dataSource = self;
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:tableViewController];
self.popoverController = popover;
popoverController.delegate = self;
[popoverController setPopoverContentSize:CGSizeMake(442.0f, 527.0f)];
[popoverController presentPopoverFromRect:CGRectMake(bkBtn.frame.origin.x+bkBtn.frame.size.width/2, bkBtn.frame.origin.y, 442.0f, 527.0f) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
[tableViewController.tableView reloadData];
视图1让我有点困惑。。。它有一个按钮,然后作为表视图出现在popover中??您在这里面临什么问题?听起来就像是在
UIPopopOvercontroller
中使用UITableViewController
作为contentViewController
。。。您尝试了什么,什么不起作用?是否要在tableview行上打开新视图单击popover?第一个解决方案:检查tableview的did select方法。