我在这里使用最新版本的MT。 RightView
中没有UITextField
属性。看起来它被遗忘了绑定。我可以手动绑定吗?
已解决 - 阅读结束
编辑:感谢杰夫,我正在靠近。使用LeftView
(!)我得到了这段代码没有问题:
var _entry = new UITextField ();
UIButton oLeftButton = UIButton.FromType(UIButtonType.DetailDisclosure);
_entry.LeftView = oLeftButton;
_entry.LeftViewMode = UITextFieldViewMode.Always;
使用手动绑定尝试使用RightView:
var _entry = new UITextField ();
UIButton oRightButton = UIButton.FromType(UIButtonType.DetailDisclosure);
Messaging.void_objc_msgSend_intptr (_entry.Handle, Selector.GetHandle ("setRightView:"), oRightButton.Handle);
// Code crashes here with a NULL ref in ObjC.
_entry.RightViewMode = UITextFieldViewMode.Always;
和另一个编辑: MT 3.x中存在一个错误,该错误将在MT4中修复,并在访问RightViewMode属性时导致崩溃。 RightViewMode必须像这里演示的那样直接设置。
var _entry = new UITextField ();
UIButton oRightButton = UIButton.FromType(UIButtonType.DetailDisclosure);
// Set RightView directly.
Messaging.void_objc_msgSend_intptr (_entry.Handle, Selector.GetHandle ("setRightView:"), oRightButton.Handle);
// Set RightViewMode directly.
Messaging.void_objc_msgSend_int (_entry.Handle, Selector.GetHandle ("setRightViewMode:"), (int)UITextFieldViewMode.Always);
答案 0 :(得分:1)
是的,这是错过的,它将在MonoTouch 4 Alpha 3中修复。
您可以像这样手动调用它:
Runtime.GetNSObject (Messaging.intptr_objc_msgSend (textField.Handle, Selector.GetHandle ("leftView")));