相关疑难解决方法(0)

检测设备是否为iPhone X.

我的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 objective-c ios iphone-x

248
推荐指数
16
解决办法
16万
查看次数

如何计算 UIImageView 大小?

我有一个 Swift 应用程序,它将 UIImageView 设置为屏幕一部分的大小(使用自动约束设置为其上方的边距和控件),并且我使用 ImageView 的高度和宽度值以编程方式创建 3 个额外的 UIImageViews 并定位它们位于原始图像之上。我正在建造一个讲台并将三张图像放在讲台顶部的适当位置。然后我计算的高度和通过创建一个恒定的宽度的每个附加图像的:let conImageHeight = 0.4 * self.imgPodium.frame.height。但是,我无法获得原始图像的可靠高度和宽度。

最初我使用self.imgPodium.bounds.heightwhich 非常适合 iPhone 6 模拟器屏幕尺寸,但是当我尝试在 iPad 模拟器上运行该应用程序时,它保留了 iPhone 尺寸值。图像本身改变了大小,但是当我使用println()的高度和宽度时bounds,我得到了 iPhone 图像的值。

然后我改变并使用了self.imgPodium.frame.height但这并没有改变任何东西。

在通过自动约束定位自己后,是否有更好的方法来获取 UIImageView(或任何与此相关的控件)的高度和宽度?

谢谢。

我已经看过但没有帮助的问题: 在 Swift 中
以编程方式更改 UIImageView 大小和位置如何在 swift
UIImageView Bounds、Frame
Cocoa 中以编程方式检查 iphone 4 和 iphone 5 的屏幕大小:框架和边界之间有什么区别?
如何调整 UIImageView 的大小 (swift)

uiimageview ios swift

2
推荐指数
1
解决办法
651
查看次数

试图在swift中检测iphone x总是返回false

我正在使用模拟器在iphone x上测试我的全部我已经搜索了能够检测到iPhone x的方法但是所有这些都返回false

这是他们的一种方法

struct Device {
        // iDevice detection code
        static let IS_IPAD             = UIDevice.current.userInterfaceIdiom == .pad
        static let IS_IPHONE           = UIDevice.current.userInterfaceIdiom == .phone
        static let IS_RETINA           = UIScreen.main.scale >= 2.0

        static let SCREEN_WIDTH        = Int(UIScreen.main.bounds.size.width)
        static let SCREEN_HEIGHT       = Int(UIScreen.main.bounds.size.height)
        static let SCREEN_MAX_LENGTH   = Int( max(SCREEN_WIDTH, SCREEN_HEIGHT) )
        static let SCREEN_MIN_LENGTH   = Int( min(SCREEN_WIDTH, SCREEN_HEIGHT) )

        static let IS_IPHONE_4_OR_LESS = IS_IPHONE && SCREEN_MAX_LENGTH  < 568
        static let IS_IPHONE_5         = IS_IPHONE && SCREEN_MAX_LENGTH == 568
        static let IS_IPHONE_6         = …
Run Code Online (Sandbox Code Playgroud)

xcode ios ios-simulator swift iphone-x

0
推荐指数
1
解决办法
469
查看次数

标签 统计

ios ×3

iphone-x ×2

swift ×2

ios-simulator ×1

iphone ×1

objective-c ×1

uiimageview ×1

xcode ×1