UIImageview не изменяет размер в UICollectionView

Я пытаюсь изменить размер UIImageView в UICollectionView, но только UICollectionViewCell изменяет размер, но не UIImageView. Я не уверен, что происходит неправильно. У меня есть UIImageview на Раскадке.

Пожалуйста, найдите мой код для справки.

Контроллер My View

@interface ViewController : UIViewController<UICollectionViewDataSource,UICollectionViewDelegate> @property (weak, nonatomic) IBOutlet UIButton *animButton; @property (strong, nonatomic) IBOutlet UICollectionView *collectionView; -(IBAction)animation:(id)sender; @end #import "ViewController.h" #import "CollectionViewCell.h" #import "SingleView.h" #import "GridView.h" @interface ViewController () @property (nonatomic, strong) SingleView *largeLayout; @property (nonatomic, strong) GridView *smallLayout; @property(nonatomic, strong)NSArray * imageArray; @end static NSString *ItemIdentifier = @"PatternCell"; @implementation ViewController - (void)viewDidLoad { // [self.collectionView registerClass:[CollectionViewCell class] forCellWithReuseIdentifier:ItemIdentifier]; self.collectionView.delegate= self; self.collectionView.dataSource=self; self.smallLayout = [[GridView alloc] init]; self.largeLayout = [[SingleView alloc] init]; [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } -(IBAction)animation:(id)sender{ if (self.collectionView.collectionViewLayout == self.smallLayout) { UIImage * image = [UIImage imageNamed:@"on"]; [self.animButton setBackgroundImage:image forState:UIControlStateNormal]; [self.largeLayout invalidateLayout]; [self.collectionView reloadData]; [self.collectionView setCollectionViewLayout:self.largeLayout animated:YES]; } else { UIImage * image = [UIImage imageNamed:@"off"]; [self.smallLayout invalidateLayout]; [self.animButton setBackgroundImage:image forState:UIControlStateNormal]; [self.collectionView setCollectionViewLayout:self.smallLayout animated:YES]; } } #pragma mark - UICollectionView DataSource & Delegate methods -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return 11; } -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { CollectionViewCell * cell =[collectionView dequeueReusableCellWithReuseIdentifier:ItemIdentifier forIndexPath:indexPath]; [cell setImage:[UIImage imageNamed:[NSString stringWithFormat:@"groupA_%ld.jpg", (long)indexPath.item ]]]; cell.dateLabel.text=@"11/12/2004"; cell.titleLabel.text=@"SectionTitle"; return cell; } @end 

CollectionViewCell

 #import <UIKit/UIKit.h> @interface CollectionViewCell : UICollectionViewCell @property (strong, nonatomic) IBOutlet UIImageView *imageView; @property (weak, nonatomic) IBOutlet UILabel *dateLabel; @property (weak, nonatomic) IBOutlet UILabel *titleLabel; -(void)setImage:(UIImage *)image; @end #import "CollectionViewCell.h" @interface CollectionViewCell() @end @implementation CollectionViewCell - (id)initWithFrame:(CGRect)frame { NSLog(@"Hello"); if (!(self = [super initWithFrame:frame])) return nil; self.contentView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; self.contentView.frame = self.bounds; self.contentView.translatesAutoresizingMaskIntoConstraints = YES; [self.contentView addSubview:self.imageView]; [self.contentView addSubview:self.dateLabel]; [self.contentView addSubview:self.titleLabel]; self.imageView.backgroundColor = [UIColor whiteColor]; return self; } -(void)setImage:(UIImage *)image { self.imageView.image = image; } @end 

Layout1

импорт "SingleView.h"

 @implementation SingleView -(id)init { if (!(self = [super init])) return nil; self.itemSize = CGSizeMake(364, 262); self.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0); self.minimumInteritemSpacing = 20.0f; self.minimumLineSpacing = 20.0f; return self; } @end 

Layout2

 #import "GridView.h" @implementation GridView -(id)init { if (!(self = [super init])) return nil; self.itemSize = CGSizeMake(130, 130); self.sectionInset = UIEdgeInsetsMake(10, 40, 10, 40); self.minimumInteritemSpacing = 10.0f; self.minimumLineSpacing = 10.0f; return self; } @end 

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

Interesting Posts

добавление кнопки ok во время выполнения в UIAlertview ios

Как изменить форму изображения с помощью iPhone SDK?

sigsegv segv_accerr crash mkmapview в ios7

Почему не задано значение свойства этого UISlider обновить свою позицию?

Как протестировать индексирование API-интерфейса IOS 9 с помощью Web Markup?

Стройная линия UIBezierPath?

Неверная проблема с отладкой CoreData vs

Пользовательские ярлыки контактного телефона Titanium ios?

«Приложение попыталось представить контроллеры Split View modally»

Как преобразовать NSDate в относительный формат как «Сегодня», «Вчера», «неделю назад», «месяц назад», «год назад»?

Используемое пространство для свободного места и пространства для песочницы

Отклики вызовов делегатов Push Notification не вызываются

Список всех препроцессоров Objective-C в Clang

Черный UIViewController при нажатии, но не при представлении модально

Запуск приложения iOS в фоновом режиме более 10 минут

PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.