2011-07-30 42 views
1

我想從一個按鈕在我酥料餅調用的方法在我的主要觀點(TapView)(POP)運行在主視圖的方法,響應酥料餅的方法

現在在一分鐘我

-(void)popoverControllerDidDismissPopover: 
(UIPopoverController *)pop { 
    [self noise]; 
} 

設置,以便當popover被解除時,它運行該方法。這工作,並且是「可接受」

我寧願雖然發生的是,用戶在酥料餅按下一個UIButton(姑且稱之爲......「裝入1」,而這調用方法來代替。

任何人都對此有任何明智的想法?我敢肯定,這是死的簡單,但我不知道'我在做什麼',所以尋找答案給了一個相當大的選擇範圍。編輯:這就是我打電話給我的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]; 

回答

1

在你的酥料餅控制器的頭,添加:

#import "TapView.h" 
@property(nonatomic, assign) TapView *tapView; // *assign* to prevent mutual retain cycle 

進行綜合這一點。當您創建酥料餅( 我假設某處TapView.m你 alloc/init你的酥料餅 引用您發佈的代碼),在alloc/init後置

sLoad.tapView = self; 

。在這種情況下,self將位於您想調用方法的TapView的實例中。

的按鈕應該調用操作方法:

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

胡克該方法(在頭一個適當聲明:-(IBAction)noise;),你是好去。

+0

在彈出標題中獲取'未知類型名稱'TapView'有什麼想法?添加了我如何稱呼我的popover的示例代碼。 – David26th

+0

我的猜測是你沒有導入「TapView.h」 – FeifanZ

+0

啊我沒有......讓我再試一次。 – David26th

1

將屬性添加到您的內容視圖控制器並將其設置爲引用要調用方法的TapView實例。然後從您的內容視圖控制器中,您可以回調到任何您想要的方法。

這似乎是同一個問題,答案看起來很合理。

UIPopovercontroller Parent?

+0

看起來很相似,我可以看到它給了我的TapView引用的東西,並創建了彈出窗口,但我仍然不確定如何將方法設置爲實際觸發。 – David26th