http://www.cnblogs.com/APTX4869/archive/2011/02/24/1963527.html
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
分享到:
相关推荐
本文将深入探讨如何使用Objective-C实现界面的横竖屏切换,并提供相关源代码分析。 首先,理解iOS中的屏幕方向管理是至关重要的。iOS系统提供了两种基本的屏幕方向:portrait(竖屏)和landscape(横屏)。每个应用...
横竖屏切换是移动应用开发中经常遇到的一个功能需求,特别是在游戏和多屏幕适应的应用中尤为重要。本文中提到的Cocos Creator(简称CCC),是一个非常流行的跨平台游戏开发框架。由于它使用了底层封装和组件化设计,...
这个“iPhone开发之重力感应示例程序”是面向那些希望在自己的iOS应用中集成这一特性开发者的一个资源。下面我们将深入探讨重力感应的概念、在iOS中的实现以及如何通过示例代码进行实践。 重力感应主要依赖于iOS...
- frameSize代表了设备物理屏幕的实际分辨率,例如iPhone 5s横屏时为1136x640,竖屏时为640x1136。无论设备如何旋转,frameSize都是不变的。在Cocos2dx中,可以使用`getFrameSize()` API获取这一尺寸,而`...
在iOS开发中,iPhone的重力感应功能是通过Core Motion框架来实现的。这个框架提供了对设备运动数据的访问,包括加速度计、陀螺仪和磁力计的数据,使得开发者能够创建响应用户设备移动的应用。本文将深入探讨如何利用...
这个名为"iPhone GL 重力感应 源代码"的压缩包提供了一个使用OpenGL ES进行重力感应的示例代码,让我们深入探讨其中涉及的技术和知识点。 首先,我们要知道OpenGL ES(OpenGL for Embedded Systems)是OpenGL的一个...
在iOS开发中,有时我们需要特定的UIViewController在显示时强制处于横屏模式,特别是在展示全屏媒体内容或游戏等场景下。本篇文章将深入探讨如何在iOS应用中实现"强制子ViewController为横屏"的需求,同时确保父...
- 监听屏幕旋转事件,以确保自定义状态栏在横竖屏切换时依然正确显示。 5. **处理动画过渡** - 如果应用需要在不同页面间切换时保持状态栏的连续性,可以考虑使用`UIPercentDrivenInteractiveTransition`进行平滑...
### 苹果上的陀螺仪——iPhone中重力感应元件功用简介 #### 一、陀螺仪概述 陀螺仪是一种用于检测物体运动状态的重要传感器,最初被广泛应用于航空、航天领域,例如飞机和导弹中,以确保飞行器能够按照预定路径...
在iOS开发中,特别是在游戏开发领域,利用iPhone的重力感应功能可以为用户提供更沉浸式的游戏体验。本文主要探讨了两种不同的方法来控制iPhone的重力感应,分别称为方案一和方案二,这两种方法都是基于Unity3D引擎的...
《Unity3D游戏引擎之平面小球重力感应详解》 Unity3D是一款强大的跨平台游戏开发工具,广泛应用于手机游戏、桌面游戏以及虚拟现实应用的制作。在本教程中,我们将深入探讨如何利用Unity3D实现平面小球的重力感应...
在iOS开发中,状态栏(StatusBar)是显示时间、网络信号、电量等系统信息的区域。自定义状态栏可以为应用程序增添独特的视觉效果,提升用户体验。本教程将深入讲解如何在不隐藏状态栏的情况下,利用UIWindow视图来...
例如,可以将一些辅助控件或详细信息在横屏模式下展示出来。 5. **响应式设计**:利用Size Class和Auto Layout,你可以创建自适应的界面,使UI能够根据屏幕尺寸和方向动态调整。这样,即使在横竖屏切换时,也能保持...
在iOS开发中,控制iPad和iPhone的屏幕方向是常见的需求,尤其在设计用户界面时,开发者需要根据设备的横竖屏状态提供相应的布局和交互体验。这个“控制iPad/iPhone横向和竖向显示demo”应该包含一个示例项目,演示了...
自定义状态栏(Status Bar),支持两种点击动作:1. 当用户点击状态栏时,状态栏会收缩,仅仅遮盖住状态栏右方的电池图标; 2. 当用户点击状态栏时,一个有详细信息的视图会下拉出现。 注意:请在Mac下解压使用
在.NET开发环境中,处理大照片和iPhone重力感应照片上传是一项常见的需求,特别是在移动设备应用场景中。本示例程序提供了一种解决方案,结合JavaScript库,实现了高效、优化的图片处理和上传功能。以下是对该程序...
8. **适配不同设备**:考虑到iPhone和iPad的屏幕尺寸差异,以及横竖屏的变化,状态栏的设计和布局需要具有一定的灵活性。确保在不同设备和方向下都能正确显示。 通过以上步骤,我们可以创建一个自定义的状态栏来...
随着iPhone设备的广泛使用,用户在不同场景下切换横竖屏已经成为常态,因此开发者必须确保应用程序能在不同屏幕方向下正常运行。在iOS 5中,苹果引入了一些新的特性来帮助开发者更好地处理屏幕旋转。 首先,我们要...
综上所述,"重力感应CoreMotion"项目展示了如何利用CoreMotion框架获取加速度数据,并根据重力方向调整UI元素(箭头)的指向。这个功能可以应用于各种场景,例如游戏中的对象控制或增强现实应用中的方向指示。通过...
在横屏和竖屏之间切换时,Size Classes会自动调整。iOS设备有两种主要的Size Classes:Regular和Compact。在宽度上,iPhone横屏和所有iPad模式都是Regular,竖屏时iPhone是Compact,iPad则是Regular。在高度上,...