Как получить имя или идентификатор для компонента UIView - PullRequest
0 голосов
/ 23 октября 2019

В приведенном ниже коде я хочу иметь любой идентификатор для -firstView-, как показано ниже в коде. Я попытался сделать следующее:

//NSLog(@"_[uiviews[0] _description] = %@" , [uiviews[0] _description]);
  //NSLog(@"[uiviews[0] nameLabel] = %@" , [uiviews[0] nameLabel]);
    //NSLog(@"[uiviews[0] textLabel]= %@" , [[uiviews[0] textLabel].text);
 NSString *r = [uiviews[0] textLabel].text;
    NSLog(@"[uiviews[0] textLabel]= %@", r);a

Но при активации любого из них приложение вылетает. Пожалуйста, дайте мне знать, как получить доступ к имени или любой строке, идентифицирующей, что UIView.

код

        UIView *firstView = uiviews[0];

Ответы [ 2 ]

0 голосов
/ 25 октября 2019

Вы можете попробовать с accessibilityIdentifier UIView. Тег uiview - не лучшая идея (или расширить его с помощью необработанного значения enum Int).

с помощью accessibilityIdentifier вы можете сделать намного больше логики приятным способом.

0 голосов
/ 23 октября 2019

Используйте UIView.tag для определения представлений в вашем приложении:

UIView* anotherView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
anotherView.tag = 100;
[view addSubview:anotherView];
UIView* anotherViewAgain = [view viewWithTag:100];
NSLog(@"anotherView and anotherViewAgain are %@the same objects", anotherView == anotherViewAgain ? @"" : @"not "); // prints "anotherView and anotherViewAgain are the same objects"
...