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;

在这个 delagate 中,UIScrollViewDelagate因为RTSPagedView继承自UIScrollView.

使用任何其他名称修改完整的委托名称,例如

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

它将删除警告。

于 2013-02-19T11:53:59.653 回答
0

认为(如果没有更多代码,我无法确定)您尚未将委托类声明为符合RTSPagedViewDelegate协议。

试试这个:

你的类.h:

@interface YourClass : NSObject <UIScrollViewDelegate, RTSPagedViewDelegate>

...

@end

现在当你这样做时:

rtsPageView.delegate = self;

警告应该消失了。

这可能是完全垃圾,在这种情况下我会删除它。

于 2013-02-19T11:48:58.770 回答