jia*_*hua 2 ios landscape-portrait
由于某些原因,我限制我的应用程序只能在横向模式下工作,但奇怪的是,当我从我的应用程序打开 iPod 音乐库时,它总是会以纵向模式跳出。
看到下面的代码,我很困惑是否是系统默认行为?我怎样才能让它以横向模式出现(与其他 UI 保持一致)?谢谢。
- (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;
}
}
Run Code Online (Sandbox Code Playgroud)
只需将 MPMediaPickerController 的视图添加到支持所需方向的视图控制器视图中。(在 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];
Run Code Online (Sandbox Code Playgroud)

此外,在 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];
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
1226 次 |
| 最近记录: |