我正在尝试在我的应用程序中完成的那种设计目前包含一个导航控制器,它是另一个名为Test的View控制器的根控制器。测试包括上半部分的UITableView和下半部分的UIImageView。顶部的导航栏(导航控制器的结果)包含两个按钮。下面链接中的图像(我没有直接发布图像的声誉点)应该非常清楚。
http://i.imgur.com/GM5eH.png?1
我希望我的设计能够按照按下哪个按钮来改变图像视图中的图像,尽管表视图中的文本保持不变,但它们将转换为完全不同的屏幕。举一个例子,无论点击哪个按钮,我的表视图将包括:选项1,选项2和选项3.但是,按钮A的选项1与选项B不同,依此类推。这就是挑战对我来说。我已经能够成功地按下按钮交换图像。我通过使用IBActionNavBarButonPressed然后根据sender标签交换图像来完成此操作。不幸的是,我不知道如何从这里开始。所以例如我在这里有我的下一个屏幕。但是,如何设置segues / transitions,使得只有选项A的选项1进入某个屏幕,依此类推。根据我的理解,我正在考虑prepareforSegue和navBarbuttonPress IBAction的组合,但我仍然不确定这是如何工作的。
伙计们,我相当确定我正在尝试什么,但由于我是客观C的新手,我不完全确定如何做到这一点。从本质上讲,我希望逻辑类似于if(element.selected == 0)&& (IBActionProvider == 1){performSegueWithIdentifier:@“blah”sender.self];我的问题是是将它放在IBAction navBarButtonPressedMethod中还是将它放在didSelectRowAtIndexPath方法中。
感谢和抱歉这个长期的问题!
答案 0 :(得分:0)
首先,您可以为其他故事板视图指定名称。它包含左侧面板(故事板标识符:)。
您应该为所有按钮创建segue并为其指定标识符。
然后你应该像这样使用prepareforSegue
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"ToContacts"])
{
// Get reference to the destination view controller
ContactVC *targetVC = [segue destinationViewController];
// Pass any objects to the view controller here, like...
targetVC.CompanyNme = selectedRowValue;
}
if ([[segue identifier] isEqualToString:@"ViewCompany"])
{
ContactVC *targetVC = [segue destinationViewController];
targetVC.CompanyNme = selectedRowValue;
}
}
@"ToContacts" means your storyboard identifier.