• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
梦之奈落
博客园    首页    新随笔    联系   管理    订阅  订阅

iphone一些知识,去掉StatusBar,横屏,重力感应,自动切换横竖,开机画面横屏,开机画面横屏。

1,去掉StatusBar

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

2,横屏

继续在info.list中添加UIInterfaceOrientation 设置UIInterfaceOrientationLandscapeRight

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

posted @ 2011-02-24 10:44  梦之奈落  阅读(3153)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3