私は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日間運が無かったことにしようとしていました。 –
probsはありません。:)あなたのコードについては、悪いことはおそらく、あなたが離れていたView Controllerを修正したことであり、上に来ていたものではありませんでした( 'bar.topItem'は、あなたがそれを要求した)。 'didShowViewController'の変更を処理した場合(' will ... 'ではなく)に動作するはずです。とにかく、この方法はもっと簡単で、仕事をしてくれます。 – ayoy