iOS - 如何区分iPhone屏幕

44 浏览
0 Comments

iOS - 如何区分iPhone屏幕

我的应用被拒绝了,因为在iPhone 4s和iPad的iPhone分辨率上看起来不好。在这个分辨率上,我的一些按钮会重叠在一些字段上。问题是,我现在查看了XCode,发现所有的非plus型号的iPhone都有相同的尺寸类别。我该如何区分它们?我在代码中添加了这些按钮。其他字段是在IB中添加的。

编辑:那些在代码中添加的按钮是使用绝对坐标定位的,而在IB中添加的字段使用自动布局。

0
0 Comments

iOS - 如何区分iPhone屏幕

在开发iOS应用程序时,有时我们需要根据不同的iPhone屏幕大小来进行适配或设计。然而,如何区分这些不同的屏幕呢?下面我们将介绍原因以及解决方法。

问题的出现原因:

在开发iOS应用程序时,我们经常需要根据不同的iPhone屏幕大小来进行适配或设计。但是,不同的iPhone屏幕大小有不同的高度值,因此我们需要一种方法来区分这些不同的屏幕。

解决方法:

我们可以使用以下代码来区分不同的设备,根据屏幕的高度进行判断:

UIScreen.main.bounds.height <= HeightConstant.iPhone4sHeight

其中,HeightConstant是一个包含不同iPhone屏幕高度值的常量类。例如:

static let iPhone5sHeight: CGFloat = 568

static let iPhone4sHeight: CGFloat = 480

通过比较屏幕的高度值,我们可以判断出当前设备是哪款iPhone,从而进行相应的适配或设计。

在开发iOS应用程序时,我们经常需要根据不同的iPhone屏幕大小来进行适配或设计。通过比较屏幕的高度值,我们可以区分不同的iPhone屏幕,并进行相应的适配或设计。以上是解决这个问题的方法。希望对您有所帮助!

0
0 Comments

iOS中如何区分iPhone的屏幕

在iOS开发中,有时候我们需要根据不同的iPhone屏幕来设计界面。下面是一种使用trait的方法来解决这个问题。

在使用storyboard的情况下,我们可以使用traits来设计多个不同屏幕大小、方向或设备的界面。traits可以让我们在同一个控制器上设计多个不同的界面。

具体的解决方法可以参考这篇文章:http://www.techotopia.com/index.php/Using_Trait_Variations_to_Design_Adaptive_iOS_User_Interfaces

这是一种不需要编写任何代码的最清晰的解决方案。

0
0 Comments

iOS - 如何区分iPhone屏幕

在开发iOS应用时,我们经常会面临一个问题:如何在不同的iPhone屏幕上适配布局。下面是一种解决方案:

步骤1:

选择一个基准屏幕进行设计,比如iPhone 7 Plus。

步骤2:

定义一些常量。

为什么需要定义常量?

我们需要将其与自动布局约束的常量相乘。

为什么要使用自动布局?

如果你想要在所有设备上适配你的应用,你必须使用自动布局和尺寸类。

这里给出了一些常量:

var SCREEN_WIDTH = UIScreen.main.bounds.size.width

var SCREEN_HEIGHT = UIScreen.main.bounds.size.height

var BASE_SCREEN_HEIGHT:CGFloat = 736.0

var SCREEN_MAX_LENGTH = max(SCREEN_WIDTH, SCREEN_HEIGHT)

var ASPECT_RATIO_RESPECT_OF_7P = SCREEN_MAX_LENGTH / BASE_SCREEN_HEIGHT

步骤3:

你已经完成了。现在来看如何使用这些常量。假设你想要为一个按钮设置自动布局,它的leading constant是30。

viewDidLoad方法中,只需要写下以下代码:

yourButtonLeadingConstraint.constant = 30 * ASPECT_RATIO_RESPECT_OF_7P

只需这一行代码,就可以在其他设备上保持30像素的宽度比例。

步骤4:

设备方向如何处理?

有一个名为viewWillTransitionToSize的方法,可以处理设备方向的变化。

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {

if UIDevice.currentDevice().orientation.isLandscape.boolValue {

print("Landscape")

// 在这里编写你的代码,比如改变自动布局的值

} else {

print("Portrait")

// 在这里编写你的代码,比如改变自动布局的值

}

}

可以利用这个方法来处理设备方向的变化。

注意:

如果你想要在横屏模式下改变布局,你也可以做到。有很多教程可以告诉你如何做到这一点,你可以在Google上找到合适的答案。

0