2014-11-14 3 views
0

На самом деле я хотел бы установить положение detailtextlabel вертикально центра. В моем приложении detailtextlabel позиция переходит в соответствии с TextLabel (основной линией) ячейки. т. е. его присвоение является верхним.Как установить DetailTextLabel вертикально в ячейку UITableView в Xamarin.iOS?

UITableViewCell cell = new UITableViewCell(UITableViewCellStyle.Value1, cellIdentifier); 
cell.TextLabel.LineBreakMode = UILineBreakMode.WordWrap; 
cell.TextLabel.Lines = 0; 
cell.TextLabel.Font = UIFont.PreferredCaption1; 
cell.Accessory = UITableViewCellAccessory.DisclosureIndicator; 
cell.TextLabel.Text = "some long text"; 
cell.DetailTextLabel.Text = childCount+""; 
+0

не могли бы вы отправить то, что вы пробовали. вы получите лучший ответ таким образом. – InitLipton

+0

UITableViewCell cell = новый UITableViewCell (UITableViewCellStyle.Value1, cellIdentifier); cell.TextLabel.LineBreakMode = UILineBreakMode.WordWrap; cell.TextLabel.Lines = 0; cell.TextLabel.Font = UIFont.PreferredCaption1; cell.Accessory = UITableViewCellAccessory.DisclosureIndicator; cell.TextLabel.Text = "некоторый длинный текст"; cell.DetailTextLabel.Text = childCount + "" На самом деле я не могу опубликовать снимок экрана из-за проблемы с репутацией. –

ответ

1

Вам нужно будет реализовать пользовательскую ячейку таблицы, чтобы получить ее в макете, как вы хотите. TextLabel и DetailTextTabel автоматически позиционируются, и легко изменить их положение.

Я бы рекомендовал создать ячейку в раскадровке, используя автомасштабирование iOS, чтобы разместить ваши взгляды. Вы должны определить пользовательский класс для ячейки и выходы для новых меток. Вы должны использовать эти выходы вместо стандартных TextLabel и DetailsTextLabel свойств, предоставляемых iOS.

Так, например:

public UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) 
{ 
    var cell = tableView.DequeueReusableCell("YourCellID") as YourCell; 
    cell.Update(passSomethingIn); //This public method would update your outlets 
    return cell; 
} 

Затем YourCell класс будет иметь Update метод, чтобы изменить все значения для каждой строки.

Смежные вопросы