无法在Storyboard中为UICollectionView设置自定义类

时间:2015-09-01 09:21:59

标签: ios objective-c xcode

我无法在故事板模式下为UICollectionView设置自定义类属性。您可以在下面看到我输入此内容的屏幕截图。通常,当我扩展视图控制器时,它将自动完成自定义类名,但在这种情况下它不会,如果我单击一个不同的UI元素并单击返回到CollectionView,则自定义类再次为空(显示UICollectionView占位符)。

Custom Class attribute

这是MyMediaCollectionController.m

#import "MyMediaCollectionController.h"
@interface MyMediaCollectionController ()
@end

@implementation MyMediaCollectionController
    static NSString * const reuseIdentifier = @"Cell";

    - (void)viewDidLoad {
         [super viewDidLoad];
         [self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:reuseIdentifier];
    }
@end

和MyMediaCollectionController.h:

#import <UIKit/UIKit.h>

@interface MyMediaCollectionController : UICollectionViewController
@end

提前致谢!

2 个答案:

答案 0 :(得分:2)

从您的代码和屏幕截图中,您似乎已将子类划分为错误的基类。您需要使用UICollectionView代替UICollectionViewController

变化:

@interface MyMediaCollectionController : UICollectionViewController
@end

为:

@interface MyMediaCollectionController : UICollectionView
@end

执行此操作时,您还需要更改实施,更改为:

@implementation MyMediaCollectionController
static NSString * const reuseIdentifier = @"Cell";

- (void)awakeFromNib
{
    [super awakeFromNib];
    [self registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:reuseIdentifier];
}
@end

答案 1 :(得分:1)

您的班级必须是UIViewController

的子类

MyMediaCollectionController.h:

#import <UIKit/UIKit.h>

@interface MyMediaCollectionController : UIViewController <UICollectionViewDelegate>
@end