我将EntryElement子类化,并在GetCell方法中将UILineBreakMode设置为:

public class EntryElementEnhanced : EntryElement, IElementSizing
{
    public EntryElementEnhanced(string caption, string placeholder, string value) : base (caption, placeholder, value) {}


    public float GetHeight(UITableView view, NSIndexPath indexPath)
    {
        return 100.0f; //arbitrary number just for testing
    }

    public override UITableViewCell GetCell (UITableView tv)
    {
        var cell = base.GetCell (tv);
        cell.TextLabel.LineBreakMode = UILineBreakMode.WordWrap;
        cell.TextLabel.Lines = 0;


        return cell;
    }
}

这似乎并没有使输入到单元格中的文本被文字换行。我应该在其他地方设置这个吗?

如果有人知道更好的方法,那么我想在更高层次上完成的工作就是我想在MonoTouch.Dialog中创建等效于UITextArea的内容。

最佳答案

EntryElement创建一个UITextField,它是一个only控件。

如果您需要多行,则建议您创建自己的Element,例如MultilineEntryElement,并在内部使用UITextView

您可以通过从EntryElement复制粘贴代码或从UIViewElement继承(或两者兼而有之)来做到这一点。

关于c# - EntryElement可以在MonoTouch.Dialog上为多行吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9674108/

10-10 20:32