IOS横屏竖屏问题---2

来源:互联网 发布:linux ps 命令详解 编辑:程序博客网 时间:2024/06/05 17:27
方法一、横屏竖屏时分别加载两个不同的view,手写view
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{        if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) {        [landscape removeFromSuperview];        [self.view addSubview:portrait];    }    if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)) {        [portrait removeFromSuperview];        [self.view addSubview:landscape];    }}// Implement loadView to create a view hierarchy programmatically, without using a nib.- (void)loadView {        UIControl *back = [[UIControl alloc] initWithFrame:[[UIScreen mainScreen]bounds]];    back.backgroundColor = [UIColor grayColor];    self.view = back;    [back release];    }// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.- (void)viewDidLoad {    [super viewDidLoad];        portrait = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 300, 440)];    portrait.backgroundColor = [UIColor yellowColor];//    [portrait addButton];            landscape = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 460, 280)];    landscape.backgroundColor = [UIColor greenColor];    [self.view addSubview:portrait];    }// Override to allow orientations other than the default portrait orientation.- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {    // Return YES for supported orientations.    NSLog(@"heheh");    return NO;    }
方法二、在一个XIB里面添加两个不同的view,只用改变两个不同view里面控件尺寸,动作事件是一样的
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{        if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) {        [self.landscapeView removeFromSuperview];        [self.view addSubview:self.portraitView];    }    if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)) {        [self.portraitView removeFromSuperview];        [self.view addSubview:self.landscapeView];    }}- (void)viewDidLoad {    [super viewDidLoad];            [self.view addSubview:self.portraitView];    }

原创粉丝点击