Я хочу получить атрибуты метки из себя, поэтому я попробовал:
UILabel *label = (UILabel *)[self viewWithTag:1];
Но все, что я получил, было пустой UILabel вместо ярлыка, который я искал. Каков правильный способ сделать это.
Я хочу получить атрибуты метки из себя, поэтому я попробовал:
UILabel *label = (UILabel *)[self viewWithTag:1];
Но все, что я получил, было пустой UILabel вместо ярлыка, который я искал. Каков правильный способ сделать это.
Итак, я понял, что я делаю неправильно. Очевидно,
UILabel *label = (UILabel *)[self viewWithTag:1];
создает указатель на экземпляр моей метки с тегом 1. Это действительно работает. Что не работает, и почему у меня возникли проблемы, я попытался выпустить label. Выделение label совпадает с выпуском [self viewWithTag: 1], который я не пытаюсь сделать.
В Цель 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 и программно.
Для Swift 3, когда я нахожусь в контроллере представления, мне нужно вызвать этот код, чтобы получить представление по тегу:
self.mInstructionView = self.view.viewWithTag(1)