我有以下代码根据方向填充视图.这总是会返回景观.
@H_502_2@- (void)setData:(BCPlaylist *)list {
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
if (orientation == UIDeviceOrientationPortrait || orientation == UIDeviceOrientationPortraitUpsideDown){
NSLog(@"portrait");
[self setPlaylist:list];
[self renderPlaylist];
[activity stopAnimating];
}else{
NSLog(@"landscape");
[self setPlaylist:list];
[self renderPlaylistOne];
[activity stopAnimating];
}
}
我正确地改变了视图 – (void)animateRotation:(UIInterfaceOrientation)interfaceOrientation
持续时间:(NSTimeInterval)持续时间{
但是在更改播放列表时已经在横向或纵向中不起作用.
解决方法
而不是使用[[UIDevice currentDevice] orientation]来检查方向,使用状态栏方向来获得精确的方向.
@H_502_2@UIDeviceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;