2

有人可以解释一下我如何创建一个UIButton允许我使用 InputView / Accessory 属性(默认情况下它是只读的),就像在这篇文章中一样,但在 MonoTouch 中使用 C#

http://nomtek.com/tips-for-developers/working-with-pickers/

我已经尝试了无法编译的基础知识-

public class CustomUIButton : UIButton
{
    public CustomUIButton()
    {

    }

    public CustomUIButton(RectangleF rect): base(rect)
    {

    }

    public override UIView InputView
    {
        get 
        {
            return base.InputView;
        }

        [ADDED] set { base.InputView = ""; }**
    }
}

谢谢

4

1 回答 1

3

您链接到的示例调用它完全实现该属性的基类(在 Objective-C 中)。

C# 不喜欢这样,即你不能覆盖不存在的东西。然而,有几种方法可以解决这个问题。最简单的一种是为 setter 添加一个方法。例如

class MyButton : UIButton {
    UIView input_view;

    public override UIView InputView {
        get {
            if (input_view == null)
                return base.InputView;
            return input_view;
        }
    }

    public void SetInputView (UIView view)
    {
        input_view = view;
    }
}
于 2013-02-14T01:04:02.983 回答