2011-09-17 57 views
0

我正在創建一個照片瀏覽器。如何使用popViewControllerAnimated通過按下來自子視圖的按鈕來彈出視圖?

用戶從UITableView中選擇一個單元格,並使用UINavigationController將它們推送到照片瀏覽器視圖。

在我的「PhotoBrowser.m」,我有:

//Caption UIView 
    CGRect capFrame = CGRectMake(1024-400, 0, 400, 768); 
    overlayWindow = [[UICaptionOverlay alloc] initWithFrame:capFrame]; 
    overlayWindow.backgroundColor = [UIColor clearColor]; 
    [self addSubview:overlayWindow]; 

我叫子視圖和覆蓋我的圖像上的內容。即將字幕放在一系列照片上。

在我的子視圖「UICaptionOverlay.m」,我有一個按鈕:

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(25, 300, 200, 50)]; 
button.backgroundColor = [UIColor blueColor]; 
[button setTitle:@"Return to Table View" forState:UIControlStateNormal]; 
[button addTarget:self action:@selector(buttonPressedClose) forControlEvents:UIControlEventTouchUpInside]; 
[self addSubview:button]; 
[button release]; 

這顯示一些標籤和我的照片頂部的按鈕UIView

當按鈕被按下時,我如何將用戶帶回UITableView,然後選擇另一個單元格?

我可以打電話:

[photoBrowser performSelector:@selector(popViewControllerToTable) withObject:nil afterDelay:0.2]; 

從 「PhotoBrowser.m」,所以我知道至少有視圖可以被彈出。

popViewControllerToTable has [self.navigationController popViewControllerAnimated:YES];

感謝所有提前..

回答

0

做到這一點的最簡單的方法是保持你的父母的viewController參考在UICaptionOverlay實例。

然後在buttonPressedClose選擇稱之爲:

[self.myParentViewController.navigationController popViewControllerAnimated:YES];

+0

謝謝! 使用'[self.superview.buttonPressClose];'在UICaptionOverlay 調另一個'buttonPressClose'在PhotoBrowser.m, 它運行'[self.navigationController popViewControllerAnimated:YES];' 它工作正常現在。 Thaks了! – AReality

相關問題