2013-09-10 25 views
-1

想象一下,即時通訊爲「Bed Bath and Beyound」製作應用程序。
每個部分都會有一個自定義視圖(一個用於牀,一個用於沐浴,另一個用於超出)。一旦用戶點擊一個產品,他將被帶到一個「對象細節」視圖...
我注意到,在我的應用程序中,我可以製作一個視圖來處理所有「對象細節」,但是當用戶點擊「返回「我必須將他歸還給正確的視圖...將UIViewController引用傳遞給下一個視圖

我以爲我可以創建一個@property (strong,readwrite) UIViewController *controllerToReturn;並在推動」對象詳細信息「視圖之前,我可以像objectView.controllerToReturn = self那樣做,但它不工作......我保留得到一個

無法識別的選擇發送到實例

任何人都可以幫忙嗎?

注:我做@synthesize controllerToReturn;

+0

你爲什麼不使用NSNavigationController? –

+0

@Pétur,因爲用戶通過將設備旋轉到風景位置轉到「對象詳細信息」視圖... – Leonardo

+0

偵聽UIDeviceOrientationDidChangeNotification並使用導航控制器執行操作。 –

回答

1

你不需要這一點。如果您使用帶push segue的UINavigationBar,則「後退」按鈕將退回到導致此詳細信息視圖的3個控制器之一。

另一種選擇,說你用一個模式SEGUE,添加一個動作一個「取消」按鈕,例如,看起來像:

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

編輯:

如果需要檢測旋轉:

在你的應用程序代理(在didFinishLaunchingWithOptions)寫

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; 

,然後檢測到您轉回肖像:

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

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

通過將設備旋轉到橫向位置,用戶被帶到「對象詳細信息」視圖... – Leonardo

+0

因此,您想檢測到用戶旋轉回縱向並返回到主視圖? – LudoZik

+0

首先要幫忙!旋轉部分我得到了工作......我沒有工作的是「回到」初始視圖...我想通過引用「對象細節」視圖,然後「推回去」將工作...但顯然它不是... – Leonardo

相關問題