2016-01-08 2 views
-2

Была попытка получить кнопку, чтобы перейти от «edit» к «done». Я делаю учебник, и, похоже, он работает на их конце, но не мой. Кажется, я не могу найти проблему.Переключить кнопку редактирования на

Код:

- (IBAction)onEditButtonTapped:(UIBarButtonItem *)sender { 
    [self.tableView setEditing:true animated:true]; 
    sender.style = UIBarButtonItemStyleDone; 
    sender.title = @"Done"; 
} 
+0

Попытайтесь посмотреть [этот вопрос] (http://stackoverflow.com/questions/18360780/why-cant-i-change-uibarbuttonitems-title) немного назад. Это может указывать на вас в правильном направлении. –

+0

У меня только ваш код в примерном проекте, и он отлично работает. Можете ли вы показать больше своего кода или предоставить дополнительную информацию –

ответ

1

Вы делаете это трудный путь. UIViewController уже предоставляет такую ​​кнопку.

Предположим, что вы хотите эту кнопку в правой части панели навигации.

В viewDidLoad, вы хотите:

self.navigationItem.rightBarButtonItem = [self editButtonItem]; 

Затем для обработки кнопки, просто переопределить setEditing:animated: метод:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated { 
    [super setEditing:editing animated:animated]; 

    [self.tableView setEditing:editing animated:animated]; 
} 

Кнопка возвращаемый методом editButtonItem является установка для вызова метода setEditing:animated: для тебя. Нет необходимости в настройке.

Я предполагаю, что это означает, что вы добавили свой собственный настольный вид в UIViewController. Если вы используете UITableViewController, вам не нужен звонок self.tableView setEditing..., поскольку он уже сделан для вас.


Если вы действительно хотите использовать свою собственную кнопку. Убедитесь, что вы установили свойство possibleTitlesUIBarButtonItem.

+0

Никогда не знал, что этот маленький драгоценный камень существует +1 –

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