2010-04-04 3 views
1

У меня есть вид с навигационной панелью управления сверху. Вид находится на втором уровне с кнопкой «назад», по умолчанию отображается слева. На мой взгляд, класс, я добавил кнопку редактирования навигации по умолчанию справа:Показывать кнопку «Добавить» после нажатия кнопки «Редактировать»?

self.navigationbarItem.rightButtonItem = self.editButtonItem; 

с этой строки кода, кнопка редактирования находится на правой стороне, и когда он нажат, вид (таблица) становится редактируемым с меткой удаления слева для каждой строки. После этого заголовок кнопки редактирования становится «выполненным». Думаю, все это делается кнопкой редактирования по умолчанию, созданной в навигационном элементе управления.

Я хочу добавить кнопку добавления влево или заменить кнопку «назад» при нажатии на редактирование. Я предполагаю, что мне нужно реализовать какой-то делегат в классе вида. Это обеспечит место для подключения моего кода, чтобы добавить кнопку добавления слева при нажатии кнопки редактирования и восстановить «назад» кнопку, когда нажата кнопка «Готово». Если да, то какой делегат? Или есть ли другой способ достичь этого?

ответ

1

Я делаю это так (в моем контроллере представления таблицы):

editButton = [[UIBarButtonItem alloc] initWithTitle:@"Edit" style:UIBarButtonItemStyleBordered target:self action:@selector(toggleEditing)]; 
    editButton.possibleTitles = [NSSet setWithObjects:@"Edit", @"Done", nil]; 
    self.navigationItem.rightBarButtonItem = editButton; 


- (void)toggleEditing { 
    // Keep track of whether your editing or not here 
    // and show/hide the 'add' button accordingly 
} 
+0

Похоже, вы добавить кнопку настроенной. Как насчет поведения меток удаления по умолчанию? Любой способ установить вид таблицы в режиме редактирования? –

+0

Установите вид таблицы в режиме редактирования с помощью метода setEditing: animated:. – glorifiedHacker

Смежные вопросы