2012-03-06 83 views
2

我已经创造了一种在用户输入一个电话number.How的EntryElement我可以在元素的末尾添加一个按钮,以便用户可以按下按钮并拨打电话?添加按钮EntryElement

+0

为什么不作出回答而不是评论?这正是要做的事情! – Krumelur 2012-03-06 18:36:43

回答

0

您需要创建一个新的元素是EntryElement的子类,重写获得Cell方法,并添加到accessoryView的按钮。

+1

我不知道如何在对话完成后回到应用程序,然后看看这个。 http://stackoverflow.com/questions/9264065/is-it-possible-to-go-back-automatically-into-the-application-after-calling-a-num – MemoDreamer 2012-03-07 08:25:35

+0

小区的物业accessoryView的是空。相反,我将该按钮添加到单元格的子视图中,作为_cell.Subviews [0] .AddSubview(btn)'。这是一样的吗? – 2012-03-13 10:19:25

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; 
    } 
}