8

ビューコントローラーが読み込まれるときに UICollectionView の高さを 0 に設定し、ボタンが押されたときにアニメーションでサイズを大きくしてサイズを変更しようとしています。いろいろ試してみましたが、サイズは全く変わりません。高さを0に変更しようとしたさまざまなことは次のとおりです。

CGRect bounds = [self.collectionView bounds];
[self.collectionView setBounds:CGRectMake(bounds.origin.x,
                                          bounds.origin.y,
                                          bounds.size.width,
                                          bounds.size.height - 100)];

....

CGRect frame = [self.collectionView frame];
[self.collectionView setFrame:CGRectMake(frame.origin.x,
                               frame.origin.y,
                               frame.size.width,
                               frame.size.height - 100)];

....

CGRect frame = self.collectionView.frame;
frame.size.height -= 100;
self.collectionView.frame = frame;

....

 self.collectionView.clipsToBounds = YES;
 self.collectionView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
4

2 に答える 2

4

UICollectionView の初期化に Interface Builder を使用している場合は、CollectionView が作成される xib ファイルの File Inspector から [Use Autolayout] をオフにします。その後、setFrame または setBounds メソッドで高さを変更できます。

于 2013-12-17T15:06:16.393 に答える