Может ли EntryElement быть многострочным в MonoTouch.Dialog? - PullRequest
6 голосов
/ 13 марта 2012

Я вложил в подкласс EntryElement и установил UILineBreakMode в методе GetCell следующим образом:

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

Это не делает текст, который вводится в ячейку, переносимым словом.Должен ли я установить это где-нибудь еще?

Если кто-то знает лучший подход, то я пытаюсь достичь на более высоком уровне, что я хочу создать эквивалент UITextArea в MonoTouch.Dialog.

Ответы [ 4 ]

5 голосов
/ 13 марта 2012

EntryElement создает UITextField, который представляет собой одну строку только элемент управления.

Если вам нужно несколько строк, то я предлагаю вам создать свою собственнуюElement, например MultilineEntryElement, и заставить его использовать UITextView внутри.

Вы можете сделать это, вставив код вставки из EntryElement или унаследовав от UIViewElement (или немногообоих).

4 голосов
/ 30 августа 2012

есть фрагмент кода multilineEntryElement в https://gist.github.com/315408

в моем приложении это выглядит немного странно, но работает.

2 голосов
/ 06 июня 2013

Я брошу свою шляпу в кольцо.Я посмотрел на несколько списков многострочных элементов ввода, и у них всех были проблемы с макетом.Я написал этот https://gist.github.com/akcoder/5723722 для решения проблем с макетом, а также для обработки изменений ориентации.Это должно работать на всех версиях iPhone и iPad.

2 голосов
/ 15 ноября 2012

Я создал MultilineEntryElement, создав подкласс UIViewElement со значением https://gist.github.com/4080025

Работает довольно хорошо и обрабатывает заполнитель. Вам нужно будет обновить его для вашей конкретной ширины.

...