摆脱圆形矩形按钮的圆角(MonoTouch)
Posted
技术标签:
【中文标题】摆脱圆形矩形按钮的圆角(MonoTouch)【英文标题】:Get rid of rounded corners of Round Rect Button (MonoTouch) 【发布时间】:2011-11-19 23:50:33 【问题描述】:我想去掉 UIButton 的圆角(类型 = 圆形矩形按钮)。我想堆叠一些按钮以提供 UITableView 外观,并希望在某些情况下摆脱圆角。这可能吗? (单触)
【问题讨论】:
【参考方案1】:如果类型是圆角矩形,则它具有圆角。使用自定义类型来做你想做的事。
如果您在界面生成器中,只需选择自定义类型,即可使用背景图片或普通图层属性(边框、阴影...)。
在代码中,不要创建新类,只需创建一个按钮并将类型设置为自定义。
【讨论】:
好的,所以我将创建一个实现 UIButton 的类并将类型设置为自定义,但其余代码会是什么样子?实际创建角点等的代码? 如果您在界面生成器中,只需选择自定义类型,您就可以使用背景图像或普通图层属性(边框、阴影...)。在代码中,不要创建新的类,只需创建一个按钮并将类型设置为自定义。【参考方案2】:创建您想要的按钮的图像(在 Photoshop 中,或任何其他浮动您的船),将按钮类型更改为“自定义”,然后将创建的图像导入您的项目并将其设置在“图像:”下拉菜单中在 Interface Builder 中。
Tada,定制完成。
【讨论】:
这不是需要 2 张图片吗?一个用于 Retina,一个用于非 Retina? @BrianDavidBerman 很容易修复,创建第一个按钮,将其保存为@2x
版本,然后按比例缩小。没什么大不了的。无论您选择如何做,您都会遇到这种情况。【参考方案3】:
查看UIButtonType
以查看您可以创建的所有按钮类型(包括自定义按钮)。例如
var b = new UIButton ();
b.ButtonType = UIButtonType.Custom;
OTOH,如果您想做类似于 UITableView 的事情,那么我强烈建议您查看 MonoTouch.Dialog 及其示例应用程序 - 其中包括 ownerdraw 元素。这将与处理多个按钮一样容易(或更容易)(并且比使用UITableView
容易很多)。
【讨论】:
至少在 MonoTouch v3.0.4 中,ButtonType
是只读的。可能还有其他方法可以这样做,但您可以使用静态工厂方法中的 Custom
预设创建它:var b = UIButton.FromType(UIButtonType.Custom);
以上是关于摆脱圆形矩形按钮的圆角(MonoTouch)的主要内容,如果未能解决你的问题,请参考以下文章
如何将已经设置好的VC MFC 矩形按钮改成圆形 工程的基类是CView
用贝赛尔曲线把图片, 按钮, label 绘成圆 或圆角矩形