2015-04-27 2 views
0

я изучаю образец Apple, код Листер, я переписать программу (удалить контейнер группы и cloudListCoordinator и documentMenu, userActivity, используйте только localDocument для сохранения файла), он работает то же самое, но у меня проблема с двумя обычными UITableViewCell, одна - listColorCell, другая - listItemCell, я переопределяю метод setEditingTableViewController как то же самое с образцом кода Apple, когда я нажимаю кнопку редактирования, шоу listColorCell в первом строка ниже, это listItemCell. Если я не касаюсь или не изменяю текущий цвет listItem, он может выйти из режима редактирования, когда я нажму кнопку «Готово».пользовательских UITableViewCell не выйдут из режима редактирования

Таким образом, проблема только тогда, когда я прикасаюсь к listColorCell и это сделать listItemCell's цвета изменился, и снова нажмите кнопку Готово, в ListColorCell и ListItemCell кажется не выйти из редактирования mode.I проверить выход и содержание раскадровки в взгляните, используйте отладчик пещерных людей, все еще не можете найти, где может быть неправильно.

1.First, цвет в ListItem является синим

2.Then Нажимает красную colorView на ListColorCell, listItem изменения цвета до красного

3.but, когда я снова, это нажать на кнопку Готово бывает ..

Picture Link являются: https://www.dropbox.com/s/g58mru17as2h5g6/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202015-04-27%2015.53.49.png?dl=0

Я новичок здесь, надеясь кто-то может мне помочь ..

ответ

0

просто предложение, проверить, является ли ваш контроллер подходит к этим требованиям:

Я использую обычный UIViewController и она отлично работает - вам нужно:

сделать ваш контроллер делегат UITableViewDelegate, UITableViewDataSource реализации

- (void)setEditing:(BOOL)editing animated:(BOOL)animated 
programmatically add EDIT button - self.navigationItem.rightBarButtonItem = self.editButtonItem 

(если вы добавите кнопку EDIT от строителя, вам необходимо будет позвонить setEditing: YES вручную)

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
     return UITableViewCellEditingStyleDelete; 
    } 

    - (void)setEditing:(BOOL)editing animated:(BOOL)animated 
    { 
     [super setEditing:editing animated:animated]; 
     [self.tableView setEditing:editing animated:YES]; 
    } 

    - (void)tableView 
     :(UITableView *)tableView didSelectRowAtIndexPath 
     :(NSIndexPath *)indexPath 
    { 
     [self.tableView deselectRowAtIndexPath:indexPath animated:NO]; 
     [self.navigationController popViewControllerAnimated:YES]; 
    } 

    - (void)viewDidLoad 
    { 
     [super viewDidLoad]; 
     self.navigationItem.rightBarButtonItem = self.editButtonItem; 
    } 

    // do not forget interface in header file 

    @interface ContactsController : ViewController< 
     UITableViewDelegate, 
     UITableViewDataSource> 

Я дал код Objective-C здесь, Вы можете передать его, или вы можете преобразовать в быстрой и попробовать

+0

да, я только что проверил еще раз, в viewDidLoad, я поставил editButton, мой ViewController является UITableViewController, в tableView (_: commitEditingStyle) Я разрешаю только .Delete, я переопределяю метод setEditing, мой код в этом месте одинаковый с образцом кода Apple, интересно, где я мог ошибаться .. –

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