Создать действие для кнопки в представлении коллекции - PullRequest
0 голосов
/ 27 апреля 2018

Я создал UICollection View внутри раскадровки, я создал кнопку внутри ячейки, всякий раз, когда я нажимаю на кнопку, я должен фильтровать данные в соответствии с моим условием, поэтому каждая кнопка внутри ячейки будет иметь разные условия Кто-нибудь может помочь мне с этим вопросом? Я использую xcode 9 и swift 4.

Ответы [ 3 ]

0 голосов
/ 27 апреля 2018

Создайте пользовательский тип UICollectionViewCell. Подключите IBAction к клетке.

Создание протокола, позволяющего ячейке уведомлять представление коллекции о том, что пользователь нажал кнопку. Пусть действие передаст сигнал делегату.

В вашем методе cellForItemAt() установите контроллер представления в качестве делегата.

Теперь в вашем контроллере представления обработайте кран по желанию.

0 голосов
/ 27 апреля 2018

Попробуйте это для Objective c

Добавьте приведенный ниже код в cellForRowAtIndexPath

cell.btnOk.tag = indexPath.row ;
[cell.btnOk addTarget:self action:@selector(OkBtnAction:) forControlEvents:UIControlEventTouchUpInside] ;

Чем добавить действие этой кнопки

-(IBAction)OkBtnAction:(id)sender
{
    UIButton* btn=(UIButton*)sender;
    NSLog(@"row: %ld",(long)btn.tag);

}
0 голосов
/ 27 апреля 2018

Используйте addTarget вашей кнопки внутри cellForItemAt:indexPath источника данных и добавьте selector, где будет определено действие кнопки. Добавьте тег этой кнопки (добавьте его так же, как ваш indexPath.row, который вы можете использовать, чтобы отличить вашу кнопку от коллекции)

cell.yourButton.addTarget(self, action: #selector(yourButtonTapped), for: .touchUpInside)
cell.yourButton.tag = indexPath.row

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

@IBAction func yourButtonTapped(_ sender: UIButton) {
    //perform action
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...