我可以使用两次自定义UIScrollView吗?



我有一个我用过一次的PSCollectionView。现在我想在另一个ViewController中再次使用它,但当我开始实现它时,我得到Duplicate interface definition for class 'PSCollectionView'Property has a previous declaration无处不在。我不知道该怎么办。

像这样:

self.waterflowView = [[PSCollectionView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
self.waterflowView.delegate = self; // This is for UIScrollViewDelegate
self.waterflowView.collectionViewDelegate = self;
self.waterflowView.collectionViewDataSource = self;
self.waterflowView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.waterflowView.delaysContentTouches = NO;
if ([[UIDevice currentDevice].model isEqualToString:@"iPhone"]) {
    self.waterflowView.numColsPortrait = 1;
    self.waterflowView.numColsLandscape = 2;
} else {
    self.waterflowView.numColsPortrait = 1;
    self.waterflowView.numColsLandscape = 2;
}
[self.mainView addSubview:waterflowView];

当我为第二个UIScrollView添加这段代码时,我想做

@interface KerkoViewController : UIViewController <UIScrollViewDelegate, PSCollectionViewDataSource, PSCollectionViewDelegate>

我得到错误在PSCollectionView.h文件在这些行:

@interface PSCollectionView : UIScrollView
@property (nonatomic, strong) UIView *headerView;
@property (nonatomic, strong) UIView *footerView;
@property (nonatomic, assign, readonly) CGFloat colWidth;
@property (nonatomic, assign, readonly) NSInteger numCols;
@property (nonatomic, assign) NSInteger numColsLandscape;
@property (nonatomic, assign) NSInteger numColsPortrait;
@property (nonatomic, unsafe_unretained) id <PSCollectionViewDelegate> collectionViewDelegate;
@property (nonatomic, unsafe_unretained) id <PSCollectionViewDataSource> collectionViewDataSource;

和import语句

#import <UIKit/UIKit.h>
#import "QuartzCore/QuartzCore.h"#include <mach/mach.h>
#include <mach/mach_time.h>
#include "PSCollectionView.h"
#import "WaterflowViewCell.h"
#import "MWPhotoBrowser.h"

你应该使用#import指令而不是#include指令,否则编译器会再次尝试包含头文件,这会导致你得到的错误信息。

对于#import,编译器将自己处理这个

最新更新