Подтвердить что ты не робот

Ios получает ярлык от номера тега

Я хочу получить атрибуты метки из себя, поэтому я попробовал:

UILabel *label = (UILabel *)[self viewWithTag:1];

Но все, что я получил, было пустой UILabel вместо ярлыка, который я искал. Каков правильный способ сделать это.

4b9b3361

Ответ 1

Итак, я понял, что я делаю неправильно. Очевидно,

 UILabel *label = (UILabel *)[self viewWithTag:1];

создает указатель на экземпляр моей метки с тегом 1. Это действительно работает. Что не работает, и почему у меня возникли проблемы, я попытался выпустить label. Выделение label совпадает с выпуском [self viewWithTag: 1], который я не пытаюсь сделать.

Ответ 2

В Цель C для получения UILabel в UIViewController по тегу.

здесь я принимаю предположение, поскольку ваш UILabel добавлен в self.view, иначе вы можете передать свое представление, где вы добавили UILabel в качестве [yourview viewWithTag:1];

UILabel *label = (UILabel *)[self.view viewWithTag:1];

В UITableView

UILabel *label = (UILabel *)[cell viewWithTag:1];

ячейка является объектом UITableViewCell как

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];

В Swift 3

let label:UILabel = self.view.viewWithTag(1) as! UILabel

В UITableView

let cell:UITableViewCell = self.tableView.dequeueReusableCell(withIdentifier: "Cell") as UITableViewCell!

let label:UILabel = cell.viewWithTag(1) as! UILabel

ПРИМЕЧАНИЕ: перед использованием тега (viewWithTag) должен быть объект (UILabel) с этим номером тега, иначе приложение будет аварийно.

вы можете установить тег для любого объекта через раскадровку или через XIB и программно.

Ответ 3

Для Swift 3, когда я нахожусь в контроллере представления, мне нужно вызвать этот код, чтобы получить представление по тегу:

self.mInstructionView = self.view.viewWithTag(1)