Xamarin.ios 将按钮添加到EntryElement

Xamarin.ios 将按钮添加到EntryElement,xamarin.ios,monotouch.dialog,Xamarin.ios,Monotouch.dialog,我创建了一个EntryElement,用户在其中输入电话号码。如何在元素末尾添加一个按钮,以便用户可以按下按钮并拨打电话?您需要创建一个属于EntryElement子类的新元素,覆盖get cell方法并将按钮添加到accessoryView。您需要创建一个作为EntryElement子类的新元素,覆盖“获取单元格”方法并将该按钮添加到附件视图中。我知道这并不能准确回答问题,但我挣扎了很长一段时间,直到@Janub找到了答案,这让我走上了正确的轨道。这是我目前正在使用的代码 public cla

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

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

您需要创建一个作为EntryElement子类的新元素,覆盖“获取单元格”方法并将该按钮添加到附件视图中。

我知道这并不能准确回答问题,但我挣扎了很长一段时间,直到@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;
    }
}

我知道这并不能完全回答这个问题,但我挣扎了很长一段时间,直到我找到了@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;
    }
}

为什么不做一个回答而不是评论呢?这正是该做的!为什么不做一个回答而不是评论呢?这正是该做的!我不知道对话结束后如何回到应用程序,然后看看这个。单元格的属性AccessoryView为空。相反,我将按钮添加到单元格的子视图中,作为
\u cell.subview[0]。AddSubview(btn)
。这是一样的吗?我不知道对话结束后如何回到应用程序,然后看看这个。单元格的属性AccessoryView为空。相反,我将按钮添加到单元格的子视图中,作为
\u cell.subview[0]。AddSubview(btn)
。这是一样的吗?