UIScroll и его вложенные элементы - PullRequest
1 голос
/ 30 августа 2011

Я создал UIScrollView. Я устанавливаю размеры, а затем пытаюсь добавить UILabels.

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

Есть ли способ сделать все надписи (новые, которые перетаскиваются из IB в вид) по умолчанию черным цветом текста?

Изменено для соответствия комментариям

Я хочу использовать IB как можно больше. Поэтому я хочу перетащить UILabel из палитры библиотеки в UIView. Когда я делаю это, UILabel устанавливается на белый (по умолчанию). Я хочу, чтобы цвет по умолчанию был черный. Я знаю, что могу делать это программно, но я стараюсь избегать этого, если мне действительно не нужно.

Ответы [ 4 ]

2 голосов
/ 05 сентября 2011

Я думаю, что короткий ответ: «Нет, нет простого способа сделать то, что вы описываете».

Самый простой способ, который я могу придумать, - это создать все ваши UILabels (с настройкой по умолчанию белого текста), затем щелкнуть по ним все элементы управления и сразу установить цвет текста - все остальные способы менее удобны, или, по сути, потребует Apple с открытым исходным кодом Xcode или UIKit, чтобы мы могли получить их внутренности.

2 голосов
/ 05 сентября 2011

Нет простого способа сделать именно то, что вы хотите. Но то, что вы можете сделать, это создать метку с нужными вам свойствами, сохранить ее где-нибудь на чертежной доске, но не в виде, а затем дублировать ее каждый раз, когда вы хотите новую метку вместо перетаскивания новой. Вы можете легко скопировать, используя option + drag.

1 голос
/ 30 августа 2011

Да, есть способ.Вы можете зациклить подпредставления целевого представления, такие как:

UIView * targetView;

[...]

for(id subView in targetView.subViews){
    if([subView isKindOfClass:[UILabel class]]){
        [subView setBackgroundColor:clearColor];
    }
}
0 голосов
/ 10 сентября 2011

почему метки должны приходить из библиотеки объектов? Вы можете получить желаемую функциональность, перетаскивая только одну UILable из библиотеки в ваше представление, установив для всех свойств значения по умолчанию и нажмите Copy (команда + c) один раз. Теперь вы можете вставить (command + v) вашу UILabel со значениями специальных свойств столько раз, сколько вы хотите, IBActions и выходы также будут сохранены в копиях.

Если вы планируете настроить более сложные свойства, чем цвет и размер шрифта, то я бы предложил более индивидуальный подход, который потребует лишь минимального кодирования перед выполнением массового перетаскивания в IB.
Подкласс UILable в XCode, установите все свои свойства только один раз в простом методе возврата и затем вызовите этот метод как из "init", так и из "awakeFromNib". Теперь вернитесь в IB и выполните все операции перетаскивания, убедившись, что метки вашего подкласса.

Однако, по моему мнению, если вы будете делать это много, особенно если вы будете делать что-то подобное в будущем, вы сэкономите значительное количество времени и энергии для реализации этой «фабрики меток» в коде. , Вероятно, кода меньше, чем вы себе представляете, и главное, что вы можете использовать его в следующем приложении. в любом случае это мои 2цента, удачи

...