当您在聊天线程中点击照片时,我正在尝试创建 iMessage 中存在的“照片浏览器”的副本。我被困在他们如何让导航栏的行为在点击时正确消失。
目前我打电话
[self.navigationController setNavigationBarHidden:YES animated:YES];
当点击视图隐藏导航栏时。然而,由于视图如何响应顶部布局指南,这会导致视图笨拙地向上移动。iMessage 拥有它,因此视图完全忽略了顶部布局指南,而只是坐在它的正下方。我怎样才能得到同样的行为?
这是我创建照片集合视图的代码:
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
[layout setSectionInset:UIEdgeInsetsZero];
[layout setMinimumInteritemSpacing:0.0];
[layout setMinimumLineSpacing:0.0];
[layout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
_collectionView = [[UICollectionView alloc] initWithFrame:self.view.frame collectionViewLayout:layout];
[_collectionView setBackgroundColor:[UIColor whiteColor]];
[_collectionView setPagingEnabled:YES];
[_collectionView setAlwaysBounceHorizontal:YES];
[_collectionView setDataSource:self];
[_collectionView setDelegate:self];
[_collectionView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
[self.view addSubview:_collectionView];
…………
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewFlowLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
return CGSizeMake(collectionView.bounds.size.width - collectionViewLayout.sectionInset.left - collectionViewLayout.sectionInset.right, collectionView.bounds.size.height - collectionViewLayout.sectionInset.bottom - collectionViewLayout.sectionInset.top);
}