2

スクロールビューのデリゲートをスクロールビュー内のビューコントローラーとして設定する方法がわかりません。

ChildView *child = [[ChildView alloc] init];

_scrollview.delegate = child;

私の子View Controllerはscrollviewデリゲートを使用しています:

@interface ChildView : UIViewController <UIScrollViewDelegate>

ただし、scrollViewDidScroll は呼び出されません。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
NSLog(@"%f", scrollView.contentOffset.y);
}

基本的に、スクロールビューのスクロールビューオフセットを、その中にネストされたビューコントローラーに渡したいと思います。

4

2 に答える 2

1

childデリゲート メソッドが起動するまでに割り当てが解除されます。

UIScrollView.h から:

@property(nonatomic,assign) id<UIScrollViewDelegate> delegate;   // default nil. weak reference

これは弱い参照であるため、保持されません。これを修正するにstrongは、メイン ビュー コントローラーで @property を作成し、それを に設定しchildます。

于 2013-08-25T04:01:37.613 に答える