平板电脑

时间:2016-06-03 11:25:46

标签: ios ipad orientation

我是ios(android dev)的新手。我正在使用故事板和自动布局。

为了优化平板电脑的应用,我使用了故事板常规宽度常规高度的尺寸。

我想在ipad上调整ui项目与iphone模式不同。例如,我有一个在iphone上占据全宽的文本字段表。在ipad上我想在一个单元格中放置两个或三个文本字段。我如何为ipad制作不同的ui实现,因此逻辑shoudl保持不变。

我看了https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LayoutandAppearance.html#//apple_ref/doc/uid/TP40006556-CH54-SW1

但那里没有答案。

1 个答案:

答案 0 :(得分:0)

Jenya Kirmiza,

大小类是你想要的:) iOS8引入了大小类,以避免通用应用程序的多个故事板,并为开发人员提供了一种简单的方法来为不同的设备设计不同的UI:)

我希望你知道SizeClasses,如果你不知道每个设备的各种方向都属于Apple定义的sizeClass之一。

有一点需要注意的是,iPad的两个方向都属于Regular x Regular size class

除iphone 6S和iphone 6s +以外的所有iPhone都将落到

Copact Width x Regular Height - Portrait mode
Compact Width X Compact Height - Landscape Mode

Iphone 6s和6s +落到

Copact Width x Regular Height - Portrait mode
Regular Width X Compact Height - Landscape Mode

现在您已经掌握了所有规模类别的信息,可以解决这个问题。当您在屏幕中央打开故事板时,可以选择确定尺寸等级:)

所以,当你看到它默认情况下会在wAny wAny模式下打开你的故事板这意味着你添加的组件和添加约束的任何内容都将适用于所有的大小类。

因此,您会看到屏幕中央添加的textField显示在所有设备的中心,可能是iPhone或iPad。

为了解释Ill,添加两个名为Firstname和LastName的文本字段:) 让我们开始在故事板中添加textFields和约束,保持wAny wAny模式。

enter image description here

现在我已经在任何模式下添加了两个textFields,一个在另一个之下覆盖屏幕的整个宽度:)这对我来说在所有iPhone设备中都可以正常工作:)

但我想在iPad上将它们并排排列。现在我们知道iPad在方向上属于Regular x Regular sizee类:)

所以只需更改storyBoard中的size类

enter image description here

现在,当你看到你会看到两个文本域已经在另一个下面添加了一个:)

现在选择我们想要对齐它们的那些文本字段不同于它:)所以必须删除已添加到它们的约束:)

enter image description here

现在将它们移到彼此旁边,正确添加约束条件:)

enter image description here

现在它可以在iPhone和iPad上运行了:)你会在iPhone中将textFields一个低于另一个,而在iPad中将一个低于另一个:)

iPhone输出:

enter image description here

iPad输出:

enter image description here

希望这会有所帮助:)