Обнаружение запуска и сеансов редактирования конца ячейки в NSTableView.
Q: Как делают я обнаруживаю, запускают и заканчивают сеансы редактирования ячейки в NSTableView?
A: Как делают я обнаруживаю, запускают и заканчивают сеансы редактирования ячейки в NSTableView?
Для обнаружения, когда пользователь собирается запустить и закончить сеанс редактирования ячейки в NSTableView, Вы должны быть установлены как делегат той таблицы и реализовать следующий NSControl методы делегата:
Перечисление 1 NSControl методы делегата
- (BOOL)control:(NSControl *)control textShouldBeginEditing:(NSText *)fieldEditor; - (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditor; |
Таблица передает сообщение делегата, это получает от текстового представления о Вашем объекте делегата использование control:textShouldEndEditing: метод. Таким образом, Вашему делегату можно сообщить, которых управляют текстовым полевым редактором представления, действует от своего лица.
Для дальнейшего обнаружения, когда редактирование завершилось необходимо зарегистрироваться для NSControlTextDidEndEditingNotification, и реализуйте метод для ловли того уведомления:
Перечисление 2 NSControlTextDidEndEditingNotification
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(editingDidEnd:)
name:NSControlTextDidEndEditingNotification object:nil];
- (void)editingDidEnd:(NSNotification *)notification
{
// perform your work here
} |
Попытайтесь не приравнять это с NSTableView текстовые методы делегата:
Перечисление 3 NSTableView: Текстовые методы делегата
- (BOOL)textShouldBeginEditing:(NSText *)textObject; - (BOOL)textShouldEndEditing:(NSText *)textObject; |
Для реализации их необходимо быть подклассом NSTableView. Когда пользователь редактирует ячейку таблицы, таблица помещает NSTextView вместо ячейки для фактического выполнения редактирования. Это вызывают «полевым редактором окна».
NSTableView конфигурирует себя как делегат к NSTextView когда редактирование начинается и заканчивается, так, чтобы была уведомлена таблица. Следовательно, если Вы - подкласс NSTableView можно тогда реализовать любые из текстовых методов делегата, описанных в NSTextView документация.
История версии документа
| Дата | Примечания |
|---|---|
| 27.10.2009 | Новый документ, описывающий надлежащий способ управлять и обнаружить сеансы редактирования NSTableView с помощью методов делегата и уведомлений NSCONTROL. |