Как установить цвет границы UIView во время выполнения

Мне потребовалось установить цвет границы UIView, используя User Defined Runtime Attributes в identity inspector. По умолчанию цвет BlackColor. Если какие-либо ограничения доступны в iOS, сообщите мне.


person Hiren Dholariya    schedule 04.05.2016    source источник
comment
что вы подразумеваете под ограничениями времени выполнения?   -  person Tyson Vignesh    schedule 04.05.2016
comment
stackoverflow.com/ вопросы/14792238/   -  person Tyson Vignesh    schedule 04.05.2016


Ответы (4)


Это сработает -

UIView *view = [[UIView alloc] init];
    ...
    //Add a Your Color border 
    view.layer.borderColor = [UIColor colorWithWhite:1.0f alpha:1.0f].CGColor;
    view.layer.borderWidth = 1.0f; //make border 1px thick
person raj    schedule 04.05.2016

вы можете установить цвет границы, например,

yourView.layer.borderColor = [UIColor orangeColor].CGColor; 
yourView.layer.borderWidth = 1.0; //you have to give width to make border visible

Обновление в соответствии с комментарием:

вы можете установить атрибуты времени выполнения для просмотра, как показано на скриншоте ниже,

введите здесь описание изображения

Но он будет отображать черную рамку, потому что layer uses cgcolor и вы не можете получить ссылку cgcolor в конструкторе интерфейсов. поэтому вы не можете установить цвет слоя непосредственно как атрибут времени выполнения. Лучше установить из кода, как я уже упоминал выше.

Если вы вряд ли хотите устанавливать цвет только из атрибута времени выполнения, вы можете попробовать ответ Питера Дьюиза.

Надеюсь, это поможет :)

person Ketan Parmar    schedule 04.05.2016
comment
Но мне потребовалось добавить borderColor с помощью ограничений времени выполнения. Это не правильные ответы для меня. - person Hiren Dholariya; 04.05.2016
comment
означает? что ты хочешь именно? объясните это, потому что я не понимаю вашу потребность! - person Ketan Parmar; 04.05.2016
comment
В XCode -> Инспектор атрибутов -> Определяемые пользователем атрибуты времени выполнения -> здесь мы также можем установить ограничения для представления. - person Hiren Dholariya; 04.05.2016
comment
Его определяемые пользователем атрибуты среды выполнения - person Tyson Vignesh; 04.05.2016
comment
Я думаю, что в attribute inspector нет доступных вариантов. Я думаю, вы говорите о user define run time attribute из identity inspector. это так ? - person Ketan Parmar; 04.05.2016
comment
проверьте мое обновление в ответ - person Ketan Parmar; 04.05.2016

попробуйте этот код, он поможет вам:

yourViewNAme.layer.borderWidth = 1;
    yourViewNAme.layer.borderColor = [UIColor DesiredColour].CGColor;
person Community    schedule 04.05.2016
comment
Но мне потребовалось добавить borderColor с помощью ограничений времени выполнения. Это не правильные ответы для меня. - person Hiren Dholariya; 04.05.2016

пожалуйста, попробуйте этот код,

ViewController.h

объявить

@property (weak, nonatomic) IBOutlet UIView *searchView;

In ViewController.m

viewDidLoad Метод:

    searchView.layer.cornerRadius = 8.0f;
    searchView.layer.borderColor = [UIColor lightGrayColor].CGColor;
    searchView.layer.borderWidth = 0.8f;
    searchView.layer.shadowColor = [UIColor lightGrayColor].CGColor;
    searchView.layer.shadowOpacity = 0.8f;
    searchView.layer.shadowRadius = 3.0f;
    searchView.layer.shadowOffset =CGSizeMake(2.0f, 2.0f);

надеюсь, что это полезно.

person Iyyappan Ravi    schedule 04.05.2016
comment
Но мне потребовалось добавить borderColor с помощью ограничений времени выполнения. Это не правильные ответы для меня. - person Hiren Dholariya; 04.05.2016
comment
посмотрите ссылку, она ясно показала, что вам нужно, spin.atomicobject.com /2014/05/30/xcode-runtime-атрибуты - person Iyyappan Ravi; 04.05.2016