UIPopupController ile oynamak istedim ve benim popover'ımın ne zaman işten çıktığını anlayamadığımı anladım. Benim adımlar:
1. XCode dan örnek oluşturun (Dosya -> Yeni Proje -> yardımcı programını Uygulama)
2. Ekleme MainViewController yılında UIPopoverControllerDelegate
Popover algılamayı reddetme
#import "FlipsideViewController.h"
@interface MainViewController : UIViewController <FlipsideViewControllerDelegate,UIPopoverControllerDelegate>
@property (strong, nonatomic) UIPopoverController *flipsidePopoverController;
- (IBAction)showInfo:(id)sender;
@end
- MainViewController.h için:
- (IBAction)showInfo:(id)sender { if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideViewController" bundle:nil]; controller.delegate = self; controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; [self presentModalViewController:controller animated:YES]; } else { if (!self.flipsidePopoverController) { FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideViewController" bundle:nil]; controller.delegate = self; self.flipsidePopoverController.delegate = self self.flipsidePopoverController = [[UIPopoverController alloc] initWithContentViewController:controller]; } if ([self.flipsidePopoverController isPopoverVisible]) { [self.flipsidePopoverController dismissPopoverAnimated:YES]; } else { [self.flipsidePopoverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; } } } -(void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController { NSLog(@"OLOLO"); }
Ancak bir yere dokunduğumda ve popover kaybolduğunda, Konsolda NSLog iletisi yok. Neyi yanlış yapıyorum?
Sen temsilci ayarlıyorsunuz: 1.0 geri alfa ayarlayın ve yapmaya temsilci olarak kendimizi atamasını kaldırmak emin durmuyoruz ARC yapıyor o işi * ÖNCE ** popover denetleyicisini başlatırsınız. Başka bir deyişle, delegeyi –
Gerçeği, gerçeği ayarladığınızda mevcut olmaz. Çok teşekkürler! –