0
我正在爲iPAD製作照片幻燈片應用程序。我讓用戶通過彈出打開的UIPopoverController來選擇他們的照片。爲了彈出,我添加了一個名爲「完成」的自定義按鈕。現在在這裏變得古怪。當彈出窗口首次啓動時,您會看到「完成」按鈕。當我點擊相冊時,完成按鈕消失,如果我回到主照片選擇頁面,它也會從那裏消失。查看屏幕截圖。UIPopoverController上的UIBotton消失
下面是我使用的代碼。這個世界正在發生什麼?我認爲我的代碼是正確的。
-(IBAction)selectExitingPicture
{
//Specially for iPAD
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeImage];
popoverController = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
[popoverController presentPopoverFromRect:CGRectMake(0.0, 0.0, 400.0, 300.0)
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
}
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
UINavigationItem *ipcNavBarTopItem;
NSLog(@"Inside navigationController ...");
// add done button to right side of nav bar
doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(saveImages:)];
bar = navigationController.navigationBar;
[bar setHidden:NO];
ipcNavBarTopItem = bar.topItem;
ipcNavBarTopItem.rightBarButtonItem = doneButton;
}
謝謝你,夥計,你是驚人的!我一直試圖在過去的2天裏完成這個簡單的事情,但沒有運氣。 – 2012-03-04 17:55:18
沒有probs,歡迎您:)關於您的代碼的壞處可能是您修改了視圖控制器,它正在消失,而不是最後一個('bar.topItem'沒有在當時更新你要求它)。如果你在'didShowViewController'(而不是'will ...')中處理了更改,它應該可以工作。無論如何,這種方式似乎更簡單,並完成這項工作。 – ayoy 2012-03-04 20:27:06