Iphone 在主视图中运行方法,以响应popover方法

Iphone 在主视图中运行方法,以响应popover方法,iphone,methods,popover,Iphone,Methods,Popover,我正试图从我的popover(pop)中的按钮调用主视图(TapView)中的方法 现在我有 -(void)popoverControllerDidDismissPopover: (UIPopoverController *)pop { [self noise]; } 设置,以便在关闭popover时运行该方法。这是可行的,并且是“可接受的” 不过,我更希望用户按下一个UIButton(让我们在popover中将其称为…“load1”),而这将调用该方法 有人对此有什么好主意吗

我正试图从我的popover(pop)中的按钮调用主视图(TapView)中的方法

现在我有

    -(void)popoverControllerDidDismissPopover:
(UIPopoverController *)pop {
    [self noise];
}
设置,以便在关闭popover时运行该方法。这是可行的,并且是“可接受的”

不过,我更希望用户按下一个UIButton(让我们在popover中将其称为…“load1”),而这将调用该方法

有人对此有什么好主意吗?我肯定这非常简单,但我不确定我想做什么,所以寻找答案提供了相当多的选择

编辑:这就是我叫我的popover的方式。这可能会有帮助

saveLoadScifi *sLoad = [[saveLoadScifi alloc] init];
UIPopoverController *pop = [[UIPopoverController alloc] initWithContentViewController:sLoad];
[pop setDelegate:self];
CGRect popoverRect = [self.view convertRect:[sender frame]
                                   fromView:[sender superview]];
[pop presentPopoverFromRect:popoverRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

将属性添加到内容视图控制器,并将其设置为引用要在其上调用方法的TapView实例。然后,在内容视图控制器内,您可以调用所需的任何方法

这似乎是同一个问题,答案似乎合理


在popover控制器的标题中,添加:

#import "TapView.h"
@property(nonatomic, assign) TapView *tapView;    // *assign* to prevent mutual retain cycle
当你创建popover时(我假设在TapView.m的某个地方你
alloc/init
你的popover引用了你发布的代码),设置

alloc/init
之后。在本例中,
self
将位于要调用方法的TapView实例中

该按钮应调用操作方法:

- (IBAction)noise {
    [self.tapView noise];
}

连接该方法(在标题中使用正确的声明:
-(iAction)noise;
)你很乐意去做。

这看起来很相似,我可以看到它给了我的TapView一些参考,并创建了popover,但我仍然不确定我是如何设置方法来实际启动的。在popover标题中获取“未知类型名称”TapView有什么想法吗?添加了我如何调用我的popover的示例代码。我猜你没有rt“TapView.h”啊,我没有…让我再试一次。对…很接近,我按照建议将所有这些连接起来(将[self.TapView noise]放在一个现有的方法中,因为它最适合),但没有得到响应-我唯一得到的是一个警告,TapViewController(即TapView-控制器实际上是TapViewController)可能不会回复到“噪音”继续探索,但认为我会把它扔出去。编辑:意识到我没有在TapView中声明噪音。h但我去了,声明了它等,它仍然有相同的效果,但没有警告。啊,明白了,打字错误。谢谢你,勾号是你的,有了它,赏金:)享受吧。
- (IBAction)noise {
    [self.tapView noise];
}