я не могу загрузить весь мой текст в поле зрения - PullRequest
0 голосов
/ 24 ноября 2011

В моем приложении у меня мало просмотров с более длинным текстом. В моем подробном представлении я был импортирован текст из базы данных и для некоторых коротких текстов это работает, но дольше это делает меня проблемой. Когда я беру мелкий шрифт, он показывает мне весь текст, поэтому он хорошо загружает его из базы данных, но создает другую проблему. Мой код для этой части:

case RestaurantItemTypeDescription : {
            cell = [tableView dequeueReusableCellWithIdentifier:@"Restaurant Description"];
            if (cell == nil) {
                cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Restaurant Description"];
            }
            cell.imageView.image = nil;

            cell.selectionStyle = UITableViewCellSelectionStyleNone;

            CGRect rectLabel = CGRectMake(cell.frame.origin.x+20, cell.frame.origin.y+10, cell.frame.size.width-20, cell.frame.size.height-20);
            UILabel* label = [[UILabel alloc] initWithFrame:rectLabel];

            label.lineBreakMode = UILineBreakModeWordWrap;
            label.numberOfLines = 0;
            label.font = [UIFont fontWithName:@"Helvetica" size:13.0]; //Same font used for calculating height
            label.text = item.itemText;
            label.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
            [cell addSubview:label];
//          [label release];
            //NSLog(@"description=%@", item.itemText);
            cell.accessoryType = UITableViewCellAccessoryNone;
            break;
        }

У меня есть атрибут autoresize, но он не работает.

Может кто-нибудь сказать, пожалуйста, что делать? Я искал в Интернете, и кажется, что нет никаких ограничений по размеру текста в поле зрения. Спасибо ...

Ответы [ 2 ]

2 голосов
/ 24 ноября 2011

Атрибут Autoresize используется только для изменения размера, когда размер представления изменяется, например, когда ориентация изменяется с книжной на альбомную или при вызове setFrame:

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

2 голосов
/ 24 ноября 2011

Вам нужно отрегулировать высоту надписи И высоту ячейки, чтобы учесть более длинный текст.

Здесь есть достойное руководство о том, как это сделать здесь .

...