我有,我想用一個UIPopover要麼UIPopoverController委託問題?
-(BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController{
return NO;
}
或
-(void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController{}
上。他們都沒有工作(我相信一旦一個人修好了,另一個人也會這樣,因爲這可能是代表們的問題)。對於代表們,這裏是我有:
在optionsViewController.h,這是酥料餅裏面的觀點:
#import <UIKit/UIKit.h>
@protocol OptionsViewControllerDelegate <NSObject>
-(void)didPick:(NSString *)string;
@end
id delegate;
@interface OptionsViewController : UIViewController <OptionsViewControllerDelegate>{
IBOutlet UIPickerView *picker;
NSMutableArray *list;
}
@property (nonatomic, copy) NSArray *passthroughViews;
@property(nonatomic,retain) NSMutableArray *list;
@property(nonatomic,assign) id<OptionsViewControllerDelegate> delegate;
@end
,並在.M:
@synthesize delegate;
,並在。
@interface exampleViewController : UIViewController <OptionsViewControllerDelegate,UIPopoverControllerDelegate>{
UIPopoverController *popoverController;
OptionsViewController *optionsViewController;
}
並在.M::其中出現的酥料餅視圖h的
@synthesize popoverController;
@synthesize optionsViewController;
-(BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController{
return NO;
}
[popoverController release];
[optionsViewController release];
在viewDidLoad中,我有:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
optionsViewController =[[OptionsViewController alloc]init];
optionsViewController.delegate = self;
popoverController = [[UIPopoverController alloc] initWithContentViewController:optionsViewController];
popoverController.popoverContentSize = CGSizeMake(320, 216);
}
呈現酥料餅的,我用:
-(IBAction)showDecadePopover{
[popoverController presentPopoverFromRect:CGRectMake(150, 50, 150, 50) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
}
我可能失去了一些東西真的很明顯(這就是爲什麼我顧不得那麼多了我的代碼)。非常感謝!
Luke
你可以發佈你初始化和/或呈現popover的代碼嗎? –
我將它添加到問題中。希望有所幫助。謝謝 –