制作一个按钮,其背景和内容仅在指定的内部矩形内绘制(而不是在其所有框架内)

Posted

技术标签:

【中文标题】制作一个按钮,其背景和内容仅在指定的内部矩形内绘制(而不是在其所有框架内)【英文标题】:Make a button whose background and content is drawn only within specified inner rectangle (not within all its frame) 【发布时间】:2014-10-22 12:42:56 【问题描述】:

我正在寻找一种简单的方法来创建一个按钮(或UIView 的其他子类),该按钮不是在其所有框架中绘制,而是仅在指定的内部(插入)矩形内绘制。内部(插入)矩形将具有一些自定义半径的圆角。下图演示:

总结一下:

控件将响应其所有框架(外部矩形)内的触摸事件 控件的内容、背景等只会在内部(插入)矩形中绘制 内部矩形的大小和圆角半径必须是可定制的

子类化是一种选择,但我会采用更简单的解决方案。

【问题讨论】:

这并不能回答您的问题,但它提供了一种完成您想做的事情的方法。 ***.com/questions/808503/… 【参考方案1】:

这可以通过以下方式之一实现:

在自定义按钮内添加一个子视图,并为其角半径提供一些值,使其变为圆形。您可以在此视图中添加背景、内容等。但这必须是一个自定义按钮,您需要通过提供一些 API 来处理添加内容。

另一种选择是在按钮内添加一个圆角图层,但有此限制。您不能将子视图添加到您的插入矩形(子层)。您只能向其添加图层而不是视图。

【讨论】:

以上是关于制作一个按钮,其背景和内容仅在指定的内部矩形内绘制(而不是在其所有框架内)的主要内容,如果未能解决你的问题,请参考以下文章

Axure中继器实现绘制表格

dw怎么设置图片左右按钮

图像按钮仅在单击图像而不是按钮内部区域时响应

Kivy - 在文本周围绘制矩形

如何制作带有矩形 SVG 图标的方形图标按钮

CAD-矩形的绘制