向EntryElement添加按钮

时间:2012-03-06 14:09:18

标签: xamarin.ios monotouch.dialog

我创建了一个EntryElement,用户在其中输入了一个电话号码。如何在元素的末尾添加一个按钮,以便用户可以按下按钮并拨打电话?

2 个答案:

答案 0 :(得分:0)

您需要创建一个新元素,该元素是EntryElement的子类,覆盖get cell方法并添加到accessoryView按钮。

答案 1 :(得分:0)

我知道这并没有完全回答这个问题,但我挣扎了很长一段时间,直到我找到@Janub的答案,这让我走上正轨。这是我目前正在使用的代码。

public class NextNumericCell : EntryElement
{
    readonly EventHandler handler;
    public NextNumericCell (string caption, string placeholder, string value, EventHandler onClick ) : base(caption,placeholder,value) 
    {
        handler = onClick;
    }

    protected override UITextField CreateTextField (CGRect frame)
    {
        var textField = base.CreateTextField (frame);
        var toolBar = new UIToolbar (new CGRect (0, 0, frame.Width, 35));
        var spacerButton = new UIBarButtonItem (UIBarButtonSystemItem.FlexibleSpace);
        var buttonTitle = ReturnKeyType == null ? "SetButtonTitle" : ReturnKeyType.ToString ();
        var nextButton = new UIBarButtonItem (buttonTitle, UIBarButtonItemStyle.Plain, handler);
        toolBar.Items = new UIBarButtonItem [] { spacerButton, nextButton };
        textField.InputAccessoryView = toolBar;
        return textField;
    }
}