我将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/