1

我在 uiviewcontroller 内的 uiScrollview 中有一个 uibutton。当我单击按钮时,我希望能够调用 uiviewcontroller 中的方法。

我在我的 uiscrollview 中调用方法的按钮上有以下操作:

[categoryButton addTarget:self action:@selector(categoryButtonWasClicked:) forControlEvents:UIControlEventTouchUpInside];

但这只是在我的 uiscrollview 中调用一个方法(我仍然会保留)。然后我如何调用视图控制器中的方法?

感谢您提供任何帮助。

4

1 回答 1

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..”方法。

然后从 uiScrollView 中的 categroryButtonWasClicked 方法:

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

在您的 viewController 的 .h 中添加以下内容

@interface MyViewController : UIViewController <myUIScrollViewProtocol>
于 2012-08-02T15:06:02.947 回答