iOS UICollectionViewController, Не показывающий ячейки центра. Но может нажать на них

Я создал обычай UICollectionViewController .

У меня есть 2 альбома, которые я хочу показать - у каждого есть немного различная функциональность, но взгляды - по существу то же самое (таможенные размеры ячейки, и т.д.). От этой основы ViewController я наследую, настроенные 2 UICollectionViewController с определенным поведением, которое я ищу.

Наследование

  • UICollectionViewController -> GalleyViewController (my base class) -> CameraAlbumViewController.

  • UICollectionViewController -> GalleyViewController (my base class) -> DifferentAlbumViewController

По некоторым причинам я не вижу ячейки центра на экране, но в состоянии нажать на них. Я попытался изменить размер клеток, и затем я вижу эти 3 клетки, но границы клеток выключены (я могу выбрать между клетками и называл методы делегата),

Думая, возможно, что наследование было неправильным (возможно, пропавшие без вести чего-то в базовом классе) я создал новый проект с самым основным использованием UICollectionViewController и следовал за несколькими обучающими программами.

Тем не менее я не вижу ячейки центра

От этого я верю, возможно, что что-то в раскадровке неправильно.

Мой код - это:

#import "MyCollectionViewController.h"
#import 

@interface CollectionViewCell : UICollectionViewCell
// customized cell
@property (nonatomic,strong) UIImageView *imageView;
@end

@implementation CollectionViewCell

@synthesize imageView;
-(id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self)
    {
        self.imageView = [[UIImageView alloc] initWithFrame:frame];
        [self.contentView addSubview:self.imageView];
    }
    return self;
}

@end

@interface MyCollectionViewController ()
// the collection view controller
@property (nonatomic,strong) NSMutableArray *photos;
@property (nonatomic,strong) ALAssetsLibrary *defaultLibrary;
@end

@implementation MyCollectionViewController

@synthesize photos,defaultLibrary;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
       //Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];

   //Do any additional setup after loading the view.
    [self.collectionView registerClass:[CollectionViewCell class] forCellWithReuseIdentifier:@"cell"];
    [self initAssets];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
   //Dispose of any resources that can be recreated.
}

-(void)initAssets
{
    self.photos = [NSMutableArray new];
    [self.photos removeAllObjects];
    self.defaultLibrary = [[ALAssetsLibrary alloc] init];
    [self.defaultLibrary enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos
                                       usingBlock:^(ALAssetsGroup *group, BOOL *stop)
     {

         [group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop)
          {
              if (asset) {
                  [self.photos addObject:asset];

              }
          }];
         if (group == nil)
         {
             [self.collectionView reloadData];
         }
     } failureBlock:^(NSError *error)
     {
         NSLog(@"Error");
     }];


}

#pragma mark -
#pragma mark CollectionViewDelegates
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return self.photos.count;
}

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
    return 1;
}

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
    ALAsset *asset = [self.photos objectAtIndex:indexPath.row];
    UIImage *im = [UIImage imageWithCGImage:[asset thumbnail]];
    cell.imageView.image = im;
    return cell;
}

-(CGSize)collectionView:(UICollectionView *)collectionView
                 layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
    return CGSizeMake(100, 100);
}

@end

Некоторые снимки экрана правления истории, альбома камеры от симулятора

StoryBoard cell configuration Result in Simulator The images I expect from the photogallery

1
nl ja de
You' ре используя раскадровку, Просто тяните ImageView к yourCollectionViewCell как IBOutlet и затем устанавливая его в cellForItemAtIndexPath, don' t нуждаются к init и классу регистра, просто выбирают и определяют все в StoryBoard
добавлено автор LE SANG, источник
Просто тяните и снижение и удалите свой обычай init в вашем customCollectionViewCell.
добавлено автор LE SANG, источник
сделал это также. но правление истории было initing uiimageview, и я получал нулевых указателей.
добавлено автор Avner Barr, источник
I' m работающий над той же самой проблемой. Эта обучающая программа помогла мне brandontreb.com/tag/alassetslibrary-tutorial
добавлено автор Boris Y., источник