我一直在试验iPhone 4上的指南针和陀螺仪,并希望得到一些我正在解决的问题的帮助.我想通过使用陀螺仪的数据来弥补指南针的缓慢.
使用CMMotionManager和它的CMDeviceMotionobject(motionManager.deviceMotion),我得到了CMAttitude对象.如果我错了(请),请纠正我,但这是我从CMAttitude对象的yaw属性中推断出来的(我不需要pitch也不是roll为了我的目的):
yaw范围从0到PI当手机正在指向下方(由所指示的deviceMotion.gravity.z)和逆时针方向摆动,并0以-PI顺时针方向摆动时yaw范围分别为-PIto 0和PIto0locationManager.heading.magneticHeading),我看到罗盘给出了从值0到360与值顺时针摆动时增加好吧,所以一起使用所有这些信息,我能够得到一个我称之为的值horizontal,无论设备是向上还是向下,都会给出值0,360并在设备顺时针摆动时增加(尽管我我在deviceManager.gravity.z周围时仍然遇到麻烦0- yaw价值在这个gravity.z价值上变得非常惊人).
在我看来,我可以使用映射到的计算值"同步" horizontal和magneticHeading值,并在我感觉指南针"赶上"时"同步"该值.horizontalmagneticHeadinghorizontalmagneticHeading
所以我的问题:
CMDeviceMotion是否正确使用陀螺仪数据并且上面列出的假设是正确的?yaw在 …有人知道新iPhone4相机的视野值吗?我正在做一些AR应用程序,我想知道后置摄像头的水平和垂直角度.
谢谢!
在我的应用程序中,我正在从网上下载一些图像(从我的服务器到精确),为了节省一些带宽,尤其是手机上的内存,我提供两种分辨率:480x320用于"旧"iPhone系列和带有视网膜显示屏的iPhone 4为960x640.现在,我需要能够在应用程序中检测它何时在支持视网膜屏幕的设备上运行.我怎么能这样做?
我一直在考虑使用下面的代码片段,它会返回一个特定的设备标识符,例如."iPhone3",然后我将限制检测到iPhone4,并需要为具有视网膜显示器的任何后续设备更新该代码.
size_t size;
// Set 'oldp' parameter to NULL to get the size of the data
// returned so we can allocate appropriate amount of space
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
// Allocate the space to store name
char *name = malloc(size);
// Get the platform name
sysctlbyname("hw.machine", name, &size, NULL, 0);
// Place name into a string
NSString *machine = [NSString stringWithCString:name];
Run Code Online (Sandbox Code Playgroud)
有没有更好的选择(也许这是非常明显但我错过了它)?
我注意到在我的iPhone上,在阳光直射几秒钟后,屏幕将调整为更亮,更暗.等我想知道是否有办法与这个传感器进行交互?
我有一个在外面使用的应用程序.当你进入直接光线时,在调整之前很难看到屏幕上的几个元素.即便如此,它并不总是像我希望的那样明亮.我想在户外观看时使用高对比度皮肤,在室内观看时使用低对比度.
这是否可以读取光传感器数据,如果是这样,我如何提取这些传感器值?
我会假设有一个光传感器,因为相机知道何时使用闪光灯.
这里已被多次询问,但没有一个可靠且可理解的答案.这是一个网络应用程序,而不是本机应用程序.
我正在使用:
<link rel="apple-touch-startup-image" href="images/startup.png" />
Run Code Online (Sandbox Code Playgroud)
显示启动图像.如果图像的分辨率为320x460,则可以正常加载.我尝试使用视网膜的分辨率640x920(40px由状态栏取出),但没有用.我试过了那@2x件事,那也失败了.
甚至可能[还]?
iphone web-applications mobile-safari iphone-4 retina-display
我使用以下代码从精灵中获取图像.除了iPhone 4(高清版)外,它在任何地方都能正常工作.
- (UIImage *)croppedImage:(CGRect)rect {
CGImageRef image = CGImageCreateWithImageInRect([self CGImage], rect);
UIImage *result = [UIImage imageWithCGImage:image];
CGImageRelease(image);
return result;
}
Run Code Online (Sandbox Code Playgroud)
iPhone 4自动加载图像的高清版本(sprite@2x.png)而不是sprite.png.原始图像具有比例2,但是得到的图像具有比例1和错误的大小.
考虑到iPhone 3G [s]和iPhone 4的不同尺度,如何处理这种行为?
我已阅读此文档,但关于使用CGImageCreateWithImageInRect这里什么也没说.
有没有人知道如何在相机模式下启用UIImagePickerController上的相册按钮?就像iphone上的相机应用程序如何在图像和视频拍摄之间切换一样,还有按钮来查看照片库?
我已将我的项目转换为iOS 5并启用了ARC.现在我需要将核心情节与项目整合起来.当我尝试实例化Core Plot中包含的样本控制器时,我得到大约20个错误,如下所示:
当前部署目标不支持自动__weak引用
我fno-objc-arc在构建设置中明确地说过了控制器名称旁边的内容.
在启用ARC的情况下运行核心图还需要什么?
谢谢!
有没有人想出如何支持iPhone4和iPhone 5的屏幕分辨率?
在iOS6中,我们支持Autolayout.可以用于iPhone4-iPhone5屏幕,即320x480和320x568.
如果我们使用自动布局功能,我们必须将部署目标保持在最低iOS6.iOS5比什么呢?
iOS5比什么呢?我们是否必须以编程方式处理不同的屏幕尺寸?
我搜索了网络,找不到确切的答案,所以发布这个问题虽然怀疑有downvotes.请为此承担责任.我想这个问题对于在应用程序中支持新设备非常基础,适用于所有开发人员.