我在我的应用程序中使用导航控制器(带导航栏和工具栏).通过点击条形图可以使用自定义动画滑入和滑出.到目前为止,iOS7几乎一切正常.
我遇到的问题是状态栏的半透明度:
从我对这个问题的理解iOS 7状态栏回到iOS 6风格?(特别是来自jaredsinclair的回答/博文)和ios7中的状态栏问题和导航栏问题 是状态栏总是半透明的.为了获得iOS6状态栏的外观和感觉(简单地说:))将视图向下移动了20个点.
可悲的是,这对我的半透明问题没有帮助.因为应用程序的整体外观非常纯粹,当导航栏向上滑动时,它看起来非常错误并且让用户眼睛感到困惑,并且在状态栏后面向上滑动时仍然可见.
所以我尝试用非比例缩放来模拟滑动,但它只是不一样.所以我的下一个想法是以某种方式使状态栏背景不透明.这可能吗?我试图在状态和导航栏之间夹上一些不透明的视图,但我失败了.
任何帮助表示赞赏!
我正在尝试使用a实现照片库UICollectionView.设置类似于本教程中的设置:单元格与集合视图一样大,因此您一次只能看到一张图片.分页已启用,因此您可以逐个图片滚动浏览图库.到目前为止一切正常.
当设备旋转到横向时,我还想保留该设置.它在细胞/图像大小方面工作得很好.但是就像在前面提到的教程中描述的那样,集合视图被旋转到两个图片之间的某个奇怪位置.
我的目标是让集合视图在旋转之后显示与旋转之前显示的相同的单元格.就像在这篇文章中一样.
我试图解决这个问题:
在旋转之前,我将indexpath当前可见项目保存到属性,如下所示:
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
NSArray *visibleItems = [self.galleryCollectionView indexPathsForVisibleItems];
self.currentIndexPath = [visibleItems lastObject];
[self.galleryCollectionView.collectionViewLayout invalidateLayout];
}
Run Code Online (Sandbox Code Playgroud)
在旋转之后,我尝试滚动到该项目,如下所示:
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
[self.galleryCollectionView scrollToItemAtIndexPath:self.currentIndexPath atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这只适用于集合中的前两个项目,如果我滚动到让第五个项目旋转并将设备旋转到一些奇怪的中间单元格位置.
我有什么想法我做错了吗?