В настоящее время я использую унифицированные раскадровки (с размерами). Для одного из моих взглядов разница в дизайне между wAny hAny и классами wRegular hRegular size достаточно значительна, что недостаточно ограничить ограничения для подсмотров на основе класса размера.Самый эффективный способ ссылки на 2 разных IBOutlets сразу (где каждый из них существует только для собственного класса размера)?
Упрощенный пример: У меня есть UILabel в классе wAny hAny класса «First_Name_Label». Хотя я хочу повторно использовать этот UILabel для класса wRegular hRegular size, дизайн слишком отличается, поэтому я добавляю UILabel для класса wRegular hRegular size для репликации цели «First_Name_Label», и я называю это «First_Name_Label 2». «First_Name_Label» устанавливается только в класс wAny hAny size, а «First_Name_Label 2» установлен только в классе wRegular hRegular.
В моем коде, я хочу, чтобы задать текст для метки:
self.First_Name_Label.text = "my first name"
Но мне нужно сделать это для другого размерного класса, а также, и мой код будет выглядеть следующим образом:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomIpad) {
self.First_Name_Label2.text = "my first name"
} else {
self.First_Name_Label.text = "my first name"
}
Это кажется очень громоздким, в основном удваивающим мой текущий код. Я уверен, что есть более элегантный и эффективный способ сразу ссылаться на эти 2 IBOutlets (каждый из которых относится к разному классу размера).
В этом случае мне не нужно было бы создавать другой IBOutlet (просто добавьте тег к другому UILabel), но будет ли viewWithTag возвращать только 1 UILabel? Значит, мне все равно придется писать отдельный код для UILabel другого класса? – mrl
Нет, вам не нужно писать отдельный код, потому что только один ярлык будет доступен в заданном классе размеров. – Aura