将UIViewController引用传递给下一个View

时间:2013-09-10 19:39:50

标签: ios objective-c uiviewcontroller

想象一下,我正在为“Bed Bath and Beyound”制作应用程序 每个部分都有一个自定义视图(一个用于Bed,一个用于Bath,另一个用于以外)。一旦用户点击产品,他将被带到“对象详细信息”视图...
我注意到在我的应用程序中我可以制作一个单独的视图来处理所有“对象细节”,但是当用户点击“返回”时我必须将他返回到正确的视图...

我认为我可以在推送“对象详细信息”视图之前创建一个@property (strong,readwrite) UIViewController *controllerToReturn;,然后我可以像objectView.controllerToReturn = self那样做,但它不起作用......我一直在

  

无法识别的选择器发送到实例

有人可以帮忙吗?

注意:我做了@synthesize controllerToReturn;

1 个答案:

答案 0 :(得分:1)

你不需要那个。如果您使用带有推送segue的UINavigationBar,“后退”按钮将转回到导致此详细视图的3个控制器之一。

另一种选择,比如你使用模态segue,在“取消”按钮上添加一个动作,例如:

- (IBAction)cancelClicked:(id)sender
{
    [self dismissViewControllerAnimated:YES completion:nil];
}

编辑:

如果您需要检测旋转:

在你的App委托中(在didFinishLaunchingWithOptions中)写

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

然后,检测您旋转回肖像:

        if (UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation))
    {

       [self dismissViewControllerAnimated:YES completion:nil];
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];
    }