gpt4 book ai didi

ios - 从子 popupviewcontroller 调用 super 中的方法

转载 作者:行者123 更新时间:2023-11-28 17:40:33 26 4
gpt4 key购买 nike

我需要在 viewcontroller 中调用一个方法,从创建的 popupviewcontroller 创建一个 popupviewcontroller。

对于 iPad,我是这样创建的:

if (!self.flipsidePopoverController) {
FlipsideViewController *controller = [[[FlipsideViewController alloc] initWithNibName:@"FlipsideViewController" bundle:nil] autorelease];
controller.delegate = self;
self.flipsidePopoverController = [[[UIPopoverController alloc] initWithContentViewController:controller] autorelease];
}
if ([self.flipsidePopoverController isPopoverVisible]) {
[self.flipsidePopoverController dismissPopoverAnimated:YES];
}
else
{
/// The important part ///
[self.flipsidePopoverController presentPopoverFromRect:CGRectMake((self.view.frame.size.width-320), 0, (self.view.frame.size.width), 10) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
}

现在我想从弹出窗口中调用我的主视图 Controller 中的方法。我怎样才能做到这一点?


我的 iPhone 等效项是这样的:

// Creating it //
FlipsideViewController *controller = [[[FlipsideViewController alloc] initWithNibName:@"FlipsideViewController" bundle:nil] autorelease];
controller.delegate = self;
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];

从弹出窗口中调用方法:

if ([self.presentingViewController isKindOfClass:[MainViewController class]])
[(MainViewController*)self.presentingViewController resetClock];

最佳答案

为显示的 View Controller 提供对主视图 Controller 的引用。例如:

@class MainViewController;
@interface FlipsideViewController : UIViewController
{
}

@property (nonatomic, assign) MainViewController *mainController;

@end

(不要忘记实现中的@synthesize!)稍后当您显示弹出窗口时,只需设置属性:

[controller setMainController:self];

关于ios - 从子 popupviewcontroller 调用 super 中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8328703/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com