由于某些原因,我限制我的应用程序仅在横向模式下工作,但奇怪的是当我从我的应用程序打开iPod音乐库时,它总是以纵向模式跳出。
看到下面的代码,我很困惑它是否是系统默认行为?如何告诉它以横向模式出现(与其他用户界面保持一致)?谢谢。
- (IBAction)getMusic:(id)sender {
MPMediaPickerController *picker = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeMusic];
picker.delegate = self;
picker.allowsPickingMultipleItems = YES;
picker.prompt = NSLocalizedString (@"Add songs to play",nil);
[self presentModalViewController: picker animated: NO];
[picker release];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
return UIInterfaceOrientationIsLandscape(interfaceOrientation);;
} else {
return YES;
}
}
答案 0 :(得分:2)
只需将MPMediaPickerController的视图添加到viewcontroller的视图中,该视图支持您想要的方向。 (在iOS 6.1 SDK中测试)
mediaPickerController = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeAny];
mediaPickerController.delegate = self;
mediaPickerController.allowsPickingMultipleItems = NO;
mediaPickerController.prompt = @"Select songs to edit";
//[self presentViewController:mediaPicker animated:YES completion:^{}];
[self.view addSubview:mediaPickerController.view];
此外,对于iOS 7,您应该设置媒体选择器的框架如下。
mediaPickerController = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeAny];
mediaPickerController.delegate = self;
mediaPickerController.allowsPickingMultipleItems = NO;
mediaPickerController.prompt = @"Select a song to edit";
// in case of iOS 7
mediaPickerController.view.frame = CGRectMake(0, 0, 568, 320);
[self.view addSubview:mediaPickerController.view];
答案 1 :(得分:1)