Как узнать имя просмотра во время выполнения в iphone - PullRequest
0 голосов
/ 06 июня 2011

У меня более 3 видов, а также один вид окна (файл пиб pdfReader.xib).У меня есть экран, который содержит название главы, которая представляет в виде таблицы.Всякий раз, когда какой-либо выбранный ряд связан с главой загружаетсяЯ контролирую с другой точки зрения.Я хочу знать, какое представление загружается в моем файле "pdfReader.m".Так что я буду загружать PDF-файл для чтения.Я загружаю свое представление, как показано ниже.

Я написал код выбора строки в

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{
..........
.........


    switch (indexPath.row) {
        case 0:
            NSLog(@"!!!!!!");
            pdfReader.view = pdfReader.Chapter1;
            break;
        case 1:
            //pdfReader.view = pdfReader.Chapter2;
            break;
        case 2:
            //pdfReader.view = pdfReader.Chapter3;
            break;

        default:
            break;
    }

...
...
}

Я хочу, какое представление загружается в файле pdfReader.m.

Ответы [ 3 ]

0 голосов
/ 06 июня 2011

вам необходимо присвоить тегу значение каждому вашему виду. (Когда вы создаете ваши представления с помощью метода init)

 pdfReader.Chapter1.tag = 1;
 pdfReader.Chapter2.tag = 2;
 pdfReader.Chapter3.tag = 3;

Теперь измените вашу didSelectRowAtIndexPath функцию

    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    {

       if(pdfReader.view.tag == 1)
       {
          //First chapter used 
       }
       else if(pdfReader.view.tag == 2)
       {       
            //Second chapter used 
       }
       else if(pdfReader.view.tag == 3)
       {
            //third chapter used 
       }
       ..........................
       ..........................
       ..........................

      switch (indexPath.row)
      {
      case 0:
           pdfReader.view = pdfReader.Chapter1;
        break;
      case 1:
           //pdfReader.view = pdfReader.Chapter2;
        break;
      case 2:
           //pdfReader.view = pdfReader.Chapter3;
        break;

      default:
        break;
     }
   }
0 голосов
/ 06 июня 2011

Каждый объект пользовательского интерфейса UIKit имеет поле с именем tag, это свойство может использоваться для установки любого типа интегральной переменной. Подход был бы:

pdfReader.tag = indexPath.row;
switch (indexPath.row) {
    case 0:
        pdfReader.view = pdfReader.Chapter1;
        break;
    case 1:
        //pdfReader.view = pdfReader.Chapter2;
        break;
    case 2:
        //pdfReader.view = pdfReader.Chapter3;
        break;

    default:
        break;
}

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

0 голосов
/ 06 июня 2011

Просто передайте ссылку на объект PDFView в TableView в вашем ViewController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...