Обновление 2:
Короче говоря, я был глупым (и, в свою защиту, необразованным) по этому поводу.Это работает сейчас.Мои вопросы немного отклонились от первоначальной темы, но это потому, что я не понимал, что происходит в моей заявке.Я хотел бы закрыть вопрос одним последним (и небольшим) запросом:
У меня есть две метки в моем customCell.xib.Я хочу, чтобы один из них (cell.label2
) иногда содержал более длинный сегмент текста (2-3 строки).Я знаю, что один из способов сделать все это уместным - установить свойство autoshrink, но оно сжимается до текста, чтобы он мог уместиться на одной строке.Я хочу сохранить исходный размер текста и вместо этого увеличить высоту ячейки, чтобы текст занимал несколько строк, а не уменьшал ее.
Есть ли способ сделать это?
Обновление 1:
Я попробовал несколько вещей, основываясь на ответах ниже, и они ни к чему не привели.Я все больше убежден, что я делаю что-то в корне неправильно, и вы, ребята, просто не можете думать об этом, потому что это так просто.Итак, давайте попробуем еще раз.Я собираюсь немного изменить имена, чтобы их было легче запомнить.
Проблема, похоже, заключается в том, что я не могу создать IBOutlets
или IBActions
для своей customCell.Прямо сейчас у меня есть 3 файла, которые должны обработать это (DetailDirectionViewCell. {H, m, xib}, но Интерфейсный Разработчик не позволяет мне создавать свойство / выход / ссылку из моего UITableViewCell
объекта - где угодно.
Вместо того, чтобы копировать код здесь, я предоставил запись PasteBin со ссылками на мой код. Как и раньше, я удалил менее интересные методы. Посмотрите, если хотите. http://pastebin.com/p4eADhKQ
У меня также есть customCell. {H, m}, но это просто новые файлы классов Objective C, которые наследуются от UITableViewCell
. customCell.xib
- это просто ячейка с двумя метками.
ИтакУ меня действительно есть пара проблем.
Во-первых, генерация UITableView
программно с использованием пользовательского UITableViewCell
, содержащегося в собственном файле .XIB. Мой класс DirectionsViewController - просто UITableView
с программнымПри прикосновении к одной из ячеек необходимо представить таблицу DetailDirectionsViewController (модально), дизайн ячейки которой находится в файле DetailDirectionsViewCell.xib. Проблема в том, что я не могу создатьIBOutlet
для UITableViewCell
из файла пера - где угодно.Перетаскивание значка / выхода владельца файла не позволяет ничего создавать.Что после 5 часов борьбы означает, что я не могу представить свой подробный вид.
Вторая проблема заключается в добавлении панели навигации к DirectionsViewController, но давайте пока оставим это в покое.
Вот некоторые методы, которые могут оказаться полезными:
//inside DirectionsViewController
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)
{
DetailedDirectionsViewController *vc = [[DetailedDirectionsViewController alloc] initWithStyle:UITableViewStyleGrouped];
vc.instruction = [turnList objectAtIndexPath:indexPath.row];
[self.tabBarController presentModalViewController:vc animated:YES];
}
//inside DetailedDirectionsViewController
- (UITableViewCell *) tableView:(UITableView *) cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"directionsCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
[[NSBundle mainBundle] initWIthNibNamed:@"DetailedDirectionsViewCell" owner:nil options:nil];
cell = self.tableViewCell;
self.tableViewCell = nil;
}
//here I configure the custom cell
return cell;
}
Я не думаю, что остальные методы представляют интерес, потому что они либо работают как положено, либо в значительной степени используются по умолчанию.
Подводя итог:
DirectionsViewController - по сути UITableViewController
с пользовательскими ячейками.Файл .xib отсутствует. DetailDirectionsViewController - подробная информация о записях из DirectionsViewController.Ячейки здесь должны исходить из файла .XIB, но он не работает.DetailDirectionsViewCell - это пользовательская ячейка.Я не могу установить владельца этого файла.