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

本文详细介绍了在iOS应用中如何通过.plist文件和代码实现横竖屏的配置,包括添加或减少屏幕方向属性的方法,并提供了相关代码示例。

在***.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{

    return UIInterfaceOrientationMaskLandscape;

}

- (BOOL)shouldAutorotate

{

    return  YES;

}

// before ios6 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

{

    return UIInterfaceOrientationIsLandscape(interfaceOrientation);    

}


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

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


    [self hiddenControls];

}


-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {

    NSLog(@"rotate");


}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值