Я только что добавил UIButton в UIView. Как я могу получить кнопки индекса? - PullRequest
0 голосов
/ 15 марта 2011

Я только что добавил UIButton в UIView.Как я могу получить кнопки индекса?Спасибо, решено.

У меня проблема.Некоторые UIB-кнопки, созданные с помощью файла XIB.Когда я напечатал его значение, я получил нереальный индекс.@property (nonatomic, retain) IBOutlet UITextField * distanceTextField;например: индекс равен 2147483647 Но когда я программно добавляю объект, я получаю реальный индекс.Индекс равен 12. Почему?

Ответы [ 2 ]

4 голосов
/ 15 марта 2011

Цикл по подпредставлениям UIView - ненадежный способ найти кнопку.Нет никакой гарантии относительно положения кнопки в массиве подпредставления, особенно если система (или вы) добавляет другие элементы в представление позже.Без какой-либо проверки вы можете легко вывести приложение из строя, если получите неправильное подпредставление и попытаетесь с ним работать.

Лучшим способом является установка значения пользовательского тега в UIButton.

например,

button.tag = 1000;

Теперь вы можете найти кнопку непосредственно через

[view viewWithTag:1000];

Это можно сделать для любого подкласса UIView, а не только для кнопок UIB.

4 голосов
/ 15 марта 2011
int index = [[YourUIView subviews] indexOfObject:YourUIButton];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...