2015-01-13 2 views
0

В Swift я создал пользовательскую ячейку с 3 ярлыками и в которую я добавил кнопку или тип UIButton. Кнопка отображается в каждой строке таблицы. Когда я нажимаю на кнопку, я хотел бы сохранить indexPath строки, в которой была нажата кнопка, поэтому я могу заменить метки разными текстами. Мне непонятно, как я могу продолжить. Я хотел бы позвонить по методу вспомогательной кнопки (принадлежностьButtonTappedForRowWithIndexPath), если это возможно.Нужно создать добавленную кнопку в пользовательской ячейке в IOS, ведущую себя как вспомогательная кнопка

Благодарим за любые рекомендации.

ответ

0

Одна вещь, которую вы можете сделать, это cellForRowAtIndexPath, установить тег UIButton для этой ячейки, равный indexPath.row. Когда кнопка прослушиваются, это может вызвать

- (void) accessoryButtonTapped: (UIButton *) sender{ 
    int rowNum = sender.tag; 
} 

Так что теперь у вас есть RowNum кнопки, которая была повернутой. Не уверен, что вы хотите с этим сделать, хотя ...

0

Я думаю, что вы очень хорошо ответили на свой вопрос, но трюк заключается в том, чтобы установить кнопку в качестве вспомогательного вида. Для этого аксессуара используйте селектор; например didClickAccessoryView, а затем созвать accessoryButtonTappedForRowWithIndexPath оттуда.

Вот реализация Objective-C для того же:

Using a custom image for a UITableViewCell's accessoryView and having it respond to UITableViewDelegate

+0

Спасибо за ваше руководство. Вот то, что я пробовал: @IBAction функ showSubcategoryEditor (отправитель: UIButton) { , если пусть indexPath = tableView.indexPathForRowAtPoint (sender.frame) в NSIndexPath { tableView.delegate.accessoryButtonTappedForRowWithIndexPath (indexPath) }} переопределения FUNC Tableview (Tableview: UITableView, accessoryButtonTappedForRowWithIndexPath indexPath: NSIndexPath) { savedRow = indexPath.row self.performSegueWithIdentifier ("SubcategorySegue", отправитель: самость) } Однако я получаю сообщение об ошибке: follwoing –

+0

(UITableView, numberOfRowsInSection: Int) -> Int ' не имеет члена с именем 'indexPathForRowAtPoint –

+0

Извините за неправильное структурирование кода –

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