0

RTSPagedViewプロジェクトでgithubから使用しています。これは私にこの警告を与えます

  Property type 'id<RTSPagedViewDelegate>' is incompatible with type 'id<UIScrollViewDelegate>' unherited from 'UIScrollView'

@property (nonatomic, assign) IBOutlet id <RTSPagedViewDelegate> delegate;

RTSPagedView.h

アプリはこの警告で正常に動作しています。誰もが以前にこれに遭遇したか、解決策を知っている人は助けてください。

このためのリンクはRTSPagedViewです

//  RTSPagedView.h
//  PagedView
//  http://github.com/rplasman/RTSPagedView

#import <UIKit/UIKit.h>

@protocol RTSPagedViewDelegate;

@interface RTSPagedView : UIScrollView

@property (nonatomic, assign) IBOutlet id <RTSPagedViewDelegate> delegate;
@property (nonatomic, assign) NSUInteger currentPage;
@property (nonatomic, readonly) NSUInteger numberOfPages;
@property (nonatomic, assign) BOOL continuous;

- (void)resizeBounds:(CGRect)bounds;
- (UIView *)dequeueReusableViewWithTag:(NSInteger)tag;
- (UIView *)viewForPageAtIndex:(NSUInteger)index;
- (void)scrollToPageAtIndex:(NSUInteger)index animated:(BOOL)animated;
- (void)reloadData;
- (NSUInteger)indexForView:(UIView *)view;

@end

@protocol RTSPagedViewDelegate <UIScrollViewDelegate>

- (NSUInteger)numberOfPagesInPagedView:(RTSPagedView *)pagedView;
- (UIView *)pagedView:(RTSPagedView *)pagedView viewForPageAtIndex:(NSUInteger)index;

@optional

- (void)pagedView:(RTSPagedView *)pagedView didScrollToPageAtIndex:(NSUInteger)index;
- (void)pagedView:(RTSPagedView *)pagedView didRecycleView:(UIView *)view;
@end
4

3 に答える 3

3

このようにしてみてください:

@property (nonatomic, assign) IBOutlet id <UIScrollViewDelegate, RTSPagedViewDelegate> delegate;

私のために働きます。

于 2013-05-13T11:56:21.343 に答える
1

問題が発生した理由

 @property (nonatomic, assign) IBOutlet id <RTSPagedViewDelegate> delegate;

このデリゲートでは、が から継承されてUIScrollViewDelagateいるため、に向かっています。RTSPagedViewUIScrollView

完全なデリゲート名を次のような他の名前に変更します

 @property (nonatomic, assign) IBOutlet id <RTSPagedViewDelegate> rtspDelegate;

警告を削除します。

于 2013-02-19T11:53:59.653 に答える
0

デリゲートクラスがプロトコルに準拠していると宣言していないと思います(コードがないとわかりません) 。RTSPagedViewDelegate

これを試して:

YourClass.h:

@interface YourClass : NSObject <UIScrollViewDelegate, RTSPagedViewDelegate>

...

@end

そして今、あなたがするとき:

rtsPageView.delegate = self;

警告は消えているはずです。

これは完全にゴミかもしれません。その場合は削除します。

于 2013-02-19T11:48:58.770 に答える