Как показать больше деталей при нажатии на ячейку TableView?

У меня есть TextView, и любой текст, введенный в TextView, может быть сохранен в TableView (или я должен сказать NSMutableArray!). У меня это работает без проблем. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что в TextView может быть напечатано много текста, а не весь текст виден внутри ячейки TableView. Я не хочу увеличивать ячейки TableView и хотел бы сохранить их в их текущем размере.

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

Я не могу найти способ сделать это и был бы признателен за любую помощь в этом.... спасибо.

1 ответ

Решение

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

  • Редактирование в таблице: пользователь щелкает ячейку, и текст становится редактируемым. Вы должны быть в состоянии заставить это работать, реализуя табличное представление на основе представления. Просто добавьте NSTextView на ваш взгляд и установить setHidden:YES, Когда пользователь щелкает ячейку, вы показываете NSTextView, Закончив редактирование (нажав кнопку или щелкнув другую ячейку???), вы можете обновить модель и скрыть NSTextView снова. Чтобы это работало, вам понадобится представление на основе NSTableView,

  • Редактирование вне таблицы с использованием NSPopover, Когда пользователь щелкает ячейку, вы показываете отдельный NSView со всеми вашими элементами редактирования в нем, завернутые в NSPopover, Передав границы ячейки поповеру, вы можете "прикрепить" поповер к определенной ячейке, которую вы редактируете. Как только редактирование закончено, вы обновляете свою модель и закрываете поповер.

Другие вопросы по тегам