我的iOS应用程序使用自定义高度UINavigationBar导致新iPhone X上出现一些问题.
如果应用程序在iPhone X上运行,是否有人已经知道如何以编程方式(在Objective-C中)进行可靠检测?
编辑:
当然,检查屏幕的大小是可能的,但是,我想知道是否有一些"内置"方法,如TARGET_OS_IPHONE检测iOS ...
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
CGSize screenSize = [[UIScreen mainScreen] bounds].size;
if (screenSize.height == 812)
NSLog(@"iPhone X");
}
Run Code Online (Sandbox Code Playgroud)
编辑2:
我不认为,我的问题是链接问题的重复.当然,有一些方法可以"测量"当前设备的不同属性,并使用结果来决定使用哪个设备.然而,这不是我的问题的实际问题,因为我在第一次编辑时试图强调.
实际的问题是:"是否可以直接检测当前设备是否是iPhone X(例如,通过某些SDK功能)或者我是否必须使用间接测量"?
到目前为止给出的答案,我认为答案是"不,没有直接的方法.测量是要走的路".
我想知道是否可以确定当前设备是什么类型的iPhone(例如)?我知道有可能通过这个模型
NSString *deviceType = [[UIDevice currentDevice] model];
只返回我是否有"iPhone"或"iPod",但我想知道是否有可能检测/知道我是否有iPhone 3GS与iPhone 4对比一个iPhone 4S (实际上,我真正想做的就是确定我是否有3G,因为我做的是相当图形密集的东西).
所以是的,请告诉我,谢谢!
我有一个iOS7应用程序,它基于Xcode主 - 详细信息模板,我移植到iOS8.一个变化很大的领域是UISplitViewController.
在纵向模式下,如果用户点击详细视图控制器,则主视图控制器将被关闭:

如果用户点击一行,我还希望能够以编程方式隐藏主视图控制器.
在iOS 7中,主视图控制器显示为弹出窗口,可以隐藏如下:
[self.masterPopoverController dismissPopoverAnimated:YES];
Run Code Online (Sandbox Code Playgroud)
使用iOS 8,主服务器不再是popover,因此上述技术不起作用.
我试图解雇主视图控制器:
self.dismissViewControllerAnimated(true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
或者告诉拆分视图控制器显示详细信息视图控制器:
self.splitViewController?.showDetailViewController(bookViewController!, sender: self)
Run Code Online (Sandbox Code Playgroud)
但到目前为止还没有任何工作.有任何想法吗?
例如,iPhone 5的"iPhone5,1"或"iPhone5,2"是什么?有什么区别?
如果有人有iPhone 5,请运行以下代码并显示结果.谢谢.
我试图找出如何计算今日扩展主视图中的左边距,以将内容与今日视图标签的其余部分对齐.
这是一个使用Today扩展的干净Xcode项目的示例(我已经为视图背景添加了颜色并绘制了一条红色虚线,以说明我想要对齐Hello World的位置UILabel).
iPhone 6 Plus模拟器(左侧横向,右侧纵向)的结果可以从下图中找到:

在图像中,请注意绿色主视图左边界的位置与应用程序名称UILabel"testi2"的位置不同.看起来红线 - 主视图左边界对齐在每个设备中都有所不同:iPhone 5x,iPhone 6和iPad.
可以使用干净的Xcode项目(我正在使用Xcode 6.1.1,iOS 8.1和Swift)重现该行为:
UILabel背景为红色:

如何将Hello World UILabel(红色背景)与虚线对齐?或者如何将主视图(绿色背景)与虚线对齐?
这对于ios dev来说很快.我有一个非常简单的布局:
link1(没有足够的代表实际发布图片)
我所要做的就是确保"结果"标签按比例缩放到每个不同屏幕尺寸的大致相同的比例.正如您在下面看到的,3.5屏幕和iPad屏幕之间的差异非常明显:
所以我想让iPad屏幕上的标签大到足以占用与3.5屏幕相同的空间百分比,包括垂直和水平.我该怎么做呢?我已经完成了其他几个教程/解决方案,但它们都教你不同的东西,比如如何更改标签大小,而不是字体大小.我尝试添加宽高比约束,但只在不改变字体大小的情况下移动它.添加高度/宽度约束也只会更改标签大小而不使用字体大小.