【发布时间】:2013-11-22 09:40:03
【问题描述】:
我正在尝试在 IB 内的 UIButton 上添加视图。唯一的问题是它不允许我把按钮放在顶部?
这通过 IB 是不可能的还是我做错了?
【问题讨论】:
标签: ios uibutton interface-builder
我正在尝试在 IB 内的 UIButton 上添加视图。唯一的问题是它不允许我把按钮放在顶部?
这通过 IB 是不可能的还是我做错了?
【问题讨论】:
标签: ios uibutton interface-builder
这在 Interface Builder 中是不可能的。您必须在代码中添加它。
【讨论】:
你不应该这样做:
不要通过嵌入子视图来自定义控件
虽然在技术上可以将子视图添加到标准系统控件(继承自 UIControl 的对象)中,但您永远不应该以这种方式自定义它们。支持自定义的控件通过控件类本身中的显式和详细记录的接口来实现。例如,UIButton 类包含设置按钮标题和背景图像的方法。使用定义的自定义点意味着您的代码将始终正确运行。通过在按钮内嵌入自定义图像视图或标签来规避这些方法,如果按钮的实现发生更改,可能会导致您的应用程序现在或将来某个时候出现错误行为。
【讨论】:
如果您需要在 UIButton 上添加 UIView,您可以通过 2 种不同的方式实现它
简单的方法是遵循 Cyrille 的回答:您可以通过编程方式完成,因为 IB 不允许您修改 UIBUtton 添加视图
最难的方法是创建自定义按钮(我称之为“MYCustomButton”),它扩展了一个 UIButton,并在您的应用程序中使用它。这样当你需要修改界面中的按钮时,可以通过修改“MYCustomButton”的XIB来实现。
【讨论】: