使用Autolayout创建带文本和图像的iOS 7 UIButton

时间:2014-07-06 18:33:57

标签: ios7 uibutton autolayout

使用Autolayout和Interface Builder将目标设备作为iOS 7 iPhone,如何创建这些具有图像,分隔线和文本的UIButton中的三种?每个按钮的3个图像都具有相同的大小。一个按钮中的行和文本必须与其他按钮的行和文本对齐(左对齐文本)。如果手机转向风景,事情就不会发疯。所有按钮都是相同的常量。

Example Button

按钮是主屏幕布局的一部分,顶部有徽标,依此类推。当点击其中一个按钮时,该应用程序会执行某些操作。

一种想法是创建一个没有文本的按钮,在顶部放置标签,在顶部放置一个薄视图,在顶部放置uiimageview。甚至不需要明确的布局约束?也许“按钮”内容需要包含视图才能将“按钮”部分保持在一起?

1 个答案:

答案 0 :(得分:3)

图像+文本只能使用UIButton来实现,而不会添加任何自动布局限制。您可以使用-setImage:forState-setTitle:forState:设置图片和文字,然后使用*Insets属性调整按钮插图。要正确设置插图,请使用这个出色的测试项目:https://github.com/jrturton/ButtonInsets(从文档中不太清楚如何同时使用它们,这个测试应用程序应该给你这个想法。)

至于分隔符,我建议您将其直接添加到图片中。

但是如果你不想坚持UIButton及其插图,你可以继承UIView,添加2 UIImageView s(实际图像和分隔符) ,UILabel,并抛出一些约束。要使视图可以点击,请附加UITapGestureRecognizer