码迷,mamicode.com
首页 > 其他好文 > 详细

重力感应 横竖屏切换

时间:2015-06-23 19:49:14      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

1,去掉StatusBar 

在info.plist添加UIStatusBarHidden设置Boolean,设置为YES. 

2,横屏 

继续在info.list中添加UIInterfaceOrientation 设置UIInterfaceOrientationLandscapeRight
 
xcode 4.3.2中为Inital interface orientation  设置为Landscape (right home button)
当然你输入上面的,xcode也会为你纠正,所以两种都可以!

3,重力感应 

AppDelegate继承UIAccelerometerDelegate协议,并实现 

// Implement this method to get the lastest data from the accelerometer 

- (void)accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration { 

//Use a basic low-pass filter to only keep the gravity in the accelerometer values{} 

在 

- (void)applicationDidFinishLaunching:(UIApplication *)application { 




添加 

//Configure and start accelerometer 

[[UIAccelerometer sharedAccelerometer] setUpdateInterval:(1.0 / kAccelerometerFrequency)]; 

[[UIAccelerometer sharedAccelerometer] setDelegate:self]; 

就可以实现重力感应 

4,自动切换横竖。 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation //支持横 竖转动 


return YES; 

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration //当发生旋转 时 

f(self.interfaceOrientation==UIInterfaceOrientationPortrait||self.interfaceOrientation==UIDeviceOrientationPortraitUpsideDown) 

//横 转向 竖 


- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation //旋转 完成 
{          if(self.interfaceOrientation==UIInterfaceOrientationPortrait||self.interfaceOrientation==UIDeviceOrientationPortraitUpsideDown) 

//当前是在竖屏模式 



横屏之间切换 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation //支持横 竖转动 



if (interfaceOrientation == UIInterfaceOrientationLandscapeRight ) 



return YES; 



else if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) 



return YES; 



return NO; 



///////////////////////////////////////////////////////////// 

以下未经过测试 

使用重力感应,判断手机的方向,然后设定[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight,以及UIInterfaceOrientationPortrait,就可以做到根据不同的手机方向弹出横屏还是竖屏的对话框了,包括对话框上包含输入框的键盘也可以自动旋转了 

///////////////////////////////////////////////////////////// 

5,开机画面横屏 

Default-LandscapeLeft.png 
Default-LandscapeRight.png 
Default-Portrait.png 
Default-PortraitUpsideDown.png

重力感应 横竖屏切换

标签:

原文地址:http://www.cnblogs.com/4Dream/p/4595885.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!