2012-08-02 63 views
1

我在uiviewcontroller中的uiScrollview中有一個uibutton。當我點擊按鈕時,我希望能夠在uiviewcontroller中調用一個方法。uiscrollview中的uibutton的父級uiviewcontroller中的觸發器方法

我有我的按鈕下面的操作調用我的UIScrollView內的方法:

[categoryButton addTarget:自我行動:@選擇(categoryButtonWasClicked :) forControlEvents:UIControlEventTouchUpInside]。

但是這只是在我的uiscrollview(我仍然會保留)內調用一個方法。那麼我如何在視圖控制器中調用一個方法?

感謝您提供任何幫助。

回答

1

enter code here嘗試做這樣的事情

#import <UIKit/UIKit.h> 

@protocol myUIScrollViewProtocol <NSObject> 

    -(void)buttonWasPressInScrollView:(id)sender; 

@end 

@interface MyUIScrollView : UIScrollView 

@property (weak, nonatomic)id myDelegate; 

@end 

創建的UIScrollView的子類,添加一個委託然後分配給你的UIViewController作爲委託並在其實施「buttonWasPress ..」方法。

從categroryButtonWasClicked方法

然後在您的UIScrollView:

-(void)categoryButtonWasClicked{ 
    if ([self.myDelegate respondsToSelector:@selector(buttonWasPressInScrollView:)]){ 
     [self.myDelegate buttonWasPressInScrollView:self]; 
    } 
... 
} 

在你的viewController的.H添加以下

@interface MyViewController : UIViewController <myUIScrollViewProtocol> 
+0

如何分配的ViewController作爲代表?然後我把buttonWasPressInScrollView作爲視圖控制器中的一個方法? – Mike 2012-08-02 15:27:29

+0

如果您已經以編程方式添加ScrollView,將其類修改爲MyUIScrol ...如果您已經在IB中完成了它,然後選擇滾動視圖並將其更改爲MyUIScrol ....然後在您的ViewController中只需鍵入[myScrollView setDelegate:self] ; – AppHandwerker 2012-08-02 15:37:20

+0

完美。謝謝。它的工作原理!感謝西蒙的幫助。 – Mike 2012-08-02 15:39:50

相關問題