iOS将视图添加到IB中的按钮

iOS将视图添加到IB中的按钮,ios,uibutton,interface-builder,Ios,Uibutton,Interface Builder,我试图在IB内的ui按钮上添加一个视图。唯一的问题是它不允许我只在顶部的按钮内添加视图 这在IB中是不可能的,还是我做错了?在Interface Builder中是不可能的。您必须在代码中添加它。这在Interface Builder中是不可能的。您必须在代码中添加它。您不应该这样做: 不要通过嵌入子视图自定义控件 虽然在技术上可以将子视图添加到从UIControl继承的标准系统控件对象中,但决不能以这种方式自定义它们。支持自定义的控件通过控件类本身中的显式和文档化接口来实现。例如,UIButt

我试图在IB内的
ui按钮上添加一个视图。唯一的问题是它不允许我只在顶部的按钮内添加视图


这在IB中是不可能的,还是我做错了?

在Interface Builder中是不可能的。您必须在代码中添加它。

这在Interface Builder中是不可能的。您必须在代码中添加它。

您不应该这样做:

不要通过嵌入子视图自定义控件

虽然在技术上可以将子视图添加到从UIControl继承的标准系统控件对象中,但决不能以这种方式自定义它们。支持自定义的控件通过控件类本身中的显式和文档化接口来实现。例如,UIButton类包含设置按钮标题和背景图像的方法。使用定义的自定义点意味着您的代码将始终正常工作。通过在按钮内嵌入自定义图像视图或标签来规避这些方法,可能会导致应用程序现在或将来某个时候出现错误行为(如果按钮的实现发生更改)


您不应该这样做:

不要通过嵌入子视图自定义控件

虽然在技术上可以将子视图添加到从UIControl继承的标准系统控件对象中,但决不能以这种方式自定义它们。支持自定义的控件通过控件类本身中的显式和文档化接口来实现。例如,UIButton类包含设置按钮标题和背景图像的方法。使用定义的自定义点意味着您的代码将始终正常工作。通过在按钮内嵌入自定义图像视图或标签来规避这些方法,可能会导致应用程序现在或将来某个时候出现错误行为(如果按钮的实现发生更改)


如果需要在UIButton上添加UIView,可以通过两种不同的方式实现

  • 简单的方法是遵循Cyrille的答案:您可以通过编程来完成,因为IB不允许您修改UIBUtton并在其上添加视图

  • 困难的方法是创建自定义按钮(我称之为“MYCustomButton”),扩展UIButton,并在应用程序中使用它。通过这种方式,当您需要修改界面中的按钮时,您可以通过修改“MYCustomButton”的XIB来实现


  • 如果需要在UIButton上添加UIView,可以通过两种不同的方式实现

  • 简单的方法是遵循Cyrille的答案:您可以通过编程来完成,因为IB不允许您修改UIBUtton并在其上添加视图

  • 困难的方法是创建自定义按钮(我称之为“MYCustomButton”),扩展UIButton,并在应用程序中使用它。通过这种方式,当您需要修改界面中的按钮时,您可以通过修改“MYCustomButton”的XIB来实现