Arhn - архитектура программирования

Проблема события кнопки UIAlertView

хорошо, так что у меня есть небольшая проблема здесь, у меня есть это здесь.

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex == 0)
    {
        //YES clicked ...do your action
        [self.parentViewController dismissModalViewControllerAnimated:YES];
    }
    else if (buttonIndex == 1)
    {
        //NO clicked
        return;
    }
}

Это позволяет мне фиксировать события, вызванные кнопками UIAlertView, но я присвоил ему значение, и на той же странице мне нужно, чтобы этому классу было присвоено другое значение, поэтому:

if(buttonIndex == 2){//Proceed}

в основном я хочу, чтобы при нажатии кнопки во втором предупреждении она возвращалась к процессам, которые она выполняла, и не выполняла событие (buttonIndex == 0).

Итак, кто-нибудь знает, с чего я могу начать?

30.08.2011

  • Я не понимаю вопроса... у вас есть два разных представления предупреждений, и вы пытаетесь понять, как их различить в одном вызове alertView:clickedButtonAtIndex:? 30.08.2011

Ответы:


1

Просто сохраните ссылку в вашем .h файле на 2 UIAlertView, а затем выполните проверку. Например, в вашем файле .h:

UIAlertView * alertView1; UIAlertView * alertView2;

В файле .m настройте метод UIAlertView в себе viewDidLoad и измените метод alertView:clickedButtonAtIndex: на:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex; {
  if (alertView == alertView1) {
    // Do what you want the alertView1 to do here.
    if (buttonIndex == 0) {
    //YES clicked ...do your action
     [self.parentViewController dismissModalViewControllerAnimated:YES];
    }
    else if (buttonIndex == 1) {

    }// etc.
  }
  else if (alertView == alertView2) {
    // Do what you want the alertView2 to do here.
  }
}

Надеюсь, это поможет!

30.08.2011
  • Это очень помогло, спасибо, ребята! 30.08.2011

  • 2

    Что-то еще, что вы можете сделать, это использовать тег alertView, если у вас есть несколько предупреждений в вашем приложении. Например, вы можете сделать что-то вроде этого:

        UIAlertView *alert1 = [[UIAlertView alloc] initWithTitle:@"Title" message:@"AThe message."  delegate:self cancelButtonTitle:@"button 1" otherButtonTitles: @"button 2", nil];
        alert1.tag = 0;
        [alert1 show];
        [alert1 release];
    

    Затем в вашем методе делегата просто поместите следующее предложение if:

    if (alertView == alertView1) 
    

    перед вашим кодом выше.

    30.08.2011

    3

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

    30.08.2011
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..