iOS 中设置程序应用横竖屏设置

来源:互联网 发布:网络销售平台策划方案 编辑:程序博客网 时间:2024/05/16 13:00

在***.plist中supported interface orientation选项中添加或者减少横竖屏属性,xml的话如下

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>

</plist>


这里添加的代码是应用刚启动的时候的设置


在代码中添加

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{    // Return YES for supported orientations cgpvdbds    //return YES; //YES 支持所有方向上的变动    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight ); //设置为横屏,有两个方向,互相对称}

以上的代码是竖屏的,如果要哥哥方向都行的话就添加四个方向

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{    // Return YES for supported orientations cgpvdbds    //return YES; //YES 支持所有方向上的变动    return  YES;}

以上便是今日所学之心得,如果有什么不对的,望前辈指点


补充:

#pragma mark - 控制旋转

// after ios6

-(NSUInteger)supportedInterfaceOrientations{

    returnUIInterfaceOrientationMaskLandscape;

}

- (BOOL)shouldAutorotate

{

    return  YES;

}

// before ios6 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

{

    returnUIInterfaceOrientationIsLandscape(interfaceOrientation);    

}


- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

    [NSObject cancelPreviousPerformRequestsWithTarget:selfselector:@selector(hiddenControls)object:nil];


    [selfhiddenControls];

}


-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {

    NSLog(@"rotate");


}