我知道像这样的问题可能已经存在,但为了像我这样的其他人,我会继续问问
我的应用程序设置为仅允许纵向方向,但此设置会影响我的视频,因为我希望只有视频才能在横向播放。我可以添加一个方法来添加到我的.m文件中吗?这是我的代码;
#import "BIDVideosViewController.h"
@interface BIDVideosViewController ()
@end
@implementation BIDVideosViewController
@synthesize moviePlayer ;
@synthesize tableList;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
UITableView *table = [[UITableView alloc]initWithFrame:self.view.bounds];
[table setDelegate:self];
[table setDataSource:self];
[self.view addSubview:table];
tableList = [[NSMutableArray alloc] initWithObjects:@"Gangan",@"SwimGood",@"German Ice", nil];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [tableList count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *DisclosureButtonIdentifier = @"DisclosurebutotonIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:DisclosureButtonIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:DisclosureButtonIdentifier];
}
NSInteger row = [indexPath row];
NSString *rowString = [tableList objectAtIndex:row];
cell.textLabel.text = rowString;
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
{
NSBundle *str = [tableList objectAtIndex:indexPath.row];
if ([str isEqual:@"Gangan"])
{
NSBundle *bundle = [NSBundle mainBundle];
NSString *thePath = [bundle pathForResource:@"Gangan" ofType:@"mp4"];
NSURL *theurl = [NSURL fileURLWithPath:thePath];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:theurl];
[moviePlayer setMovieSourceType:MPMovieSourceTypeFile];
[self.view addSubview:moviePlayer.view];
[moviePlayer setFullscreen:YES];
[moviePlayer play];
}
else if ([str isEqual:@"SwimGood"])
{
NSBundle *bundle = [NSBundle mainBundle];
NSString *thePath = [bundle pathForResource:@"SwimGood" ofType:@"mp4"];
NSURL *theurl = [NSURL fileURLWithPath:thePath];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:theurl];
[moviePlayer setMovieSourceType:MPMovieSourceTypeFile];
[self.view addSubview:moviePlayer.view];
[moviePlayer setFullscreen:YES];
[moviePlayer play];
}
else if ([str isEqual:@"German Ice"])
{
NSBundle *bundle = [NSBundle mainBundle];
NSString *thePath = [bundle pathForResource:@"German Ice" ofType:@"mp4"];
NSURL *theurl = [NSURL fileURLWithPath:thePath];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:theurl];
[moviePlayer setMovieSourceType:MPMovieSourceTypeFile];
[self.view addSubview:moviePlayer.view];
[moviePlayer setFullscreen:YES];
[moviePlayer play];
}
}
}
@end
答案 0 :(得分:1)
在您的视图控制器.m文件中,您应该
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
在那里,您可以返回YES
以获取支持的方向,这样您就可以旋转视频了。
如果你使用UINavigationController,那么这个方法也不行,除非UINavigationController
管理的所有视图以同样的方式实现- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
。
同样在你的目标中 - > “你的项目” - >总结,您可以设置支持的方向。
编辑: 转到here查看UIInterfaceOrientation。那里有你需要的常数。
我会这样写:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if (interfaceOrientation == UIInterfaceOrientationPortrait)
return YES;
if (interfaceOrientation == UIInterfaceOrientationLandscapeRight)
return YES;
if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft)
return YES;
}