@ermolushka

Как реализовать переход на другой View Controller через SWTableViewCell?

Следую туториалу отсюда (www.appcoda.com/swipeable-uitableviewcell-tutorial), возник вопрос: как, например, из правой кнопки More осуществить переход на другой экран?

Стандартный код из туториала для показа UIActionSheet при нажатии More.
- (void)swipeableTableViewCell:(SWTableViewCell *)cell didTriggerRightUtilityButtonWithIndex:(NSInteger)index {
    switch (index) {
        case 0:
        {
            // More button is pressed
            UIActionSheet *shareActionSheet = [[UIActionSheet alloc] initWithTitle:@"Share" delegate:nil cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Share on Facebook", @"Share on Twitter", nil];
            [shareActionSheet showInView:self.view];
            [cell hideUtilityButtonsAnimated:YES];
            break;
        }
  }
  • Вопрос задан
  • 4271 просмотр
Решения вопроса 1
Flanker_4
@Flanker_4
Небольшая прелюдия:
Если Вы только обучаетесь, и Вам не важна поддержка iOS 7 - лучше посмотреть в сторону стандартного api
см. метод tableView:editActionsForRowAtIndexPath
Пример как использовать тут, ближе к концу

А переход на другой "экран" делается в самом простом случае
-(void)buttonizeButtonTap:(id)sender{
    [self performSegueWithIdentifier:@"Associate" sender:sender];
}

где Associate - id перехода в storyboard'e (там прям и задается строка)
Пример взят от сюда, там же можно посмотреть скриншотики со стрелочками , правда для старого XCode, но там особо ничего не поменялось.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@iDevPro
Программист
возник вопрос: как, например, из правой кнопки More осуществить переход на другой экран?

1) Если вы используете Storyboard, потянуть от крайней правой точки (примерное расположение кнопки More) проводок к нужному контроллеру и выбрать действие в разделе "Accessory actions" появившегося меню.
2) Если вы используете Sotryboard, но по какой-то причине желаете сами обработать событие перехода (Соединили контроллер, с другим контроллером проводом). Тут по предыдущему совету только с изменением:

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {
[self performSegueWithIdentifier:@"ShowMoreSegue" sender:nil];
}


3) Если вы не хотите использовать Accessory button то действуйте по первому совету :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы