[英]Universal iOS app - UIButton and UITableView sizes
我正在用XCode 5.0.2和iOS 7开发我的第一个通用iOS应用程序,并且我对iPhone和iPad(包括Mini)之间的屏幕尺寸差异有一些疑问。
如果应用程序中包含UIButton
s的定制.png
图像,我需要提高的大小UIButton
为iPad开发时有更大尺寸的图像沿S 2 我已经使用iPhone应用程序完成了一半,不使用情节提要,而是使用IB创建NIB。 我试图在iPad NIB上使用相同的iPhone UIButton
尺寸,但看起来很小。 这是为这两个不同设备使用更大尺寸的UIButton
以及自定义尺寸的png图像文件的正确方法吗?
UITableViews也有同样的问题。 我需要在iPad上安装更大的iPad吗? iPhone在iPad上看起来更小。 另外,请注意,我添加了一个新的iPad专用NIB,但将相同的UITableView控件从iPhone专用NIB复制到了iPad NIB。
我还在AppCoda上阅读了这篇文章 ,当我使用XCode 5打开示例项目时,将使用自定义按钮大小。
Ray Wenderlich网站上的另一篇文章 (尽管已有3年历史)谈论自动调整大小。
哪种方法最好?或者我需要了解什么?
1.关于布局:
Auto Layout
Autoresizing Masks
和Layout Constraints
(也称为“ Auto Layout
)都解决了“鉴于这种不同的视图大小会发生什么情况”的问题? 与您创建的笔尖相比(即,视图的方向发生了变化或在不同的屏幕尺寸上运行)。
您应该在每个用户界面组件( UIButton
, UITableView
等)上设置“自动调整大小的Autoresizing Masks
或“ Layout Constraints
”,以告诉他们应该如何调整它们的大小。
如果您仅针对iOS 6.0以上版本,则可以使用Layout Constraints
( Layout Constraints
(建议使用的最新方法来调整大小)。 但是,如果您对自动Autoresizing Masks
更加满意,则仍然可以根据需要使用它们(只需关闭笔尖上的“ Auto Layout
”即可)。
这是Ray Wenderlich网站上的一篇不错的文章 ,介绍了Auto Layout
。
2.关于背景图片:
如前所述,您正在使用.png
图像作为按钮背景,因此应确保包含的图像适用于UIButton
的所有可能尺寸(包括retina
和non-retina
图片)。
理想情况下,您可以设计背景图像以使它们可以拉伸,并使用UIImage
的方法resizableImageWithCapInsets:resizingMode:
为背景图像创建UIImage
。
这是有关设计iOS按钮背景的教程,也应该会有所帮助。
您可能还会从UIImage
文档(Google it-> Apple的链接更改太多)和resizableImageWithCapInsets:resizingMode:
方法中受益。
对于您按钮的图像,您将需要不同大小的视网膜和非视网膜。 如果您决定在iPad上使用更大的按钮,那么您当然需要更大的图像。 对于UITableViews,将取决于您要如何处理它们。 如果希望UITableViews填充全屏,则可以,它会更大(尽管自动布局或布局约束可以为您处理)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.