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 に答える