можно ли настроить UITableViewController для очень компактных / маленьких шрифтов? - PullRequest
0 голосов
/ 28 февраля 2011

Я хочу разработать довольно компактный вид с точки зрения размера шрифта и высоты строки.

Можно ли настроить UITableViewController так, чтобы размер шрифта / высота строки, которые вы использовали, были какими-либо? На самом деле, более общий вопрос - легко ли настроить UITableViewController так, чтобы вы могли поместить в него то, что вы хотите, и просто использовать его в качестве основы для отображения ваших пользовательских ячеек?

Хотите знать, есть ли здесь какие-то ошибки, и если бы они были, какой будет следующий вариант? Можно ли было бы просто «нарисовать» свой собственный интерфейс, используя команды типа рисования?

(пытается определить, где копать с точки зрения чтения)

спасибо

Ответы [ 3 ]

3 голосов
/ 28 февраля 2011

Если все ваши клетки однородны, вы можете настроить свойство rowHeight экземпляра UITableViewController для UITableView.

self.tableView.rowHeight = 22.0

Для ячеек разныхвысоты, вам нужно будет реализовать метод UITableViewDelegate, - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath.

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

С учетом всего этого, в Руководстве Apple по человеческому интерфейсу рекомендуется, чтобы высота UITableViewCell составляла не менее 44 точек, учитывая толщину человеческих пальцев.

2 голосов
/ 28 февраля 2011

в зависимости от UITableViewCellStyle, с которым вы работаете, у вас есть элементы textLabel и detailTextLabel для работы, и вы можете установить для них шрифт / размер / цвет.

cell.detailTextLabel.font = [UIFont boldSystemFontOfSize:18]; для примера.

Я слышал, что помещать эти модификации в

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

- правильная вещь.

1 голос
/ 28 февраля 2011

Вот способ установить высоту строки. Очевидно, что этот способ лучше, чем установка его в методе willDisplayCell из-за накладных расходов

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    CGFloat result;
    result = 20;
    return result;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...