使用特定的UIButtonType子类化UIButton
答
由于UIButtonType
是只读属性,因此无法执行此操作。
只有两个场景中的子类UIButton
:
-
创建的UIButton的子类,创建一个公共的方法来包装它的初始方法。
public class MyButton : UIButton { public static MyButton CreateButton() { return UIButton.FromType(UIButtonType.Custom) as MyButton; } }
用法:
MyButton button = MyButton.CreateButton();
您只能使用它的代码没有设计这样
-
它会自动生成名为CustomButton的UIButton的子类文件夹,并且可以将其分配给设计器中的其他按钮。
但正如我上面提到的,
UIButtonType
是一个只读属性,没有办法去改变它,一旦它的设置。public partial class CustomButton : UIButton { public CustomButton (IntPtr handle) : base (handle) { this.ButtonType = UIButtonType.Custom; //incorrect , read-only this.Font = UIFont.SystemFontOfSize(10); //correct, read-write } }
RE:Change UIButton type in subclass if button created from storyboard
+0
感谢您的好回答。是的,我也发现了两种可能性。我只是想知道,如果还有其他的方式。我想用你在第二个答案中描述的方式使用它,很遗憾你不能这样做:/ – Naomak
你可以继承它里面和AwakeFromNib()方法,你可以设置默认的类型。但是据我所知,如果我错了,纠正我,没有真正的方法来在Designer中使用该按钮,期望你看到默认的按钮并设置类。但是如果你想自己绘制并在设计器中显示,那么没有办法 –
嗨,我的回答是否可以帮助你? –
'ButtonType'是只读属性,所以我不认为你可以设置它。关于在设计器中使用,我的意思是像你创建自定义按钮类,然后在设计器中分配该类到你的按钮。 – Naomak