MonoTouch UIButton、UIPickerView 和覆盖只读 InputView
Posted
技术标签:
【中文标题】MonoTouch UIButton、UIPickerView 和覆盖只读 InputView【英文标题】:MonoTouch UIButton, UIPickerView and Overriding Readonly InputView 【发布时间】:2013-01-29 02:26:27 【问题描述】:谁能解释我如何创建一个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 = ""; **
谢谢
【问题讨论】:
【参考方案1】:您链接到的示例确实不调用它完全实现该属性的基类(在 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;
【讨论】:
嗨@poupou,谢谢,我使用了上面的代码并将 CanBecomeFirstResponder 覆盖为true;但是我的 UIPickerView 仍然没有像使用 UITextField 那样出现在按钮点击上,有什么我缺少的想法吗? 没关系,现在效果很好,拼图的最后一部分是在按钮 TouchUpInside 处理程序中设置 button.BecomeFirstResponder。以上是关于MonoTouch UIButton、UIPickerView 和覆盖只读 InputView的主要内容,如果未能解决你的问题,请参考以下文章
如何在MonoTouch中为继承的视图创建UIAppearance代理?
Monotouch - UIActionSheet 无法在 iPad 上正确显示