Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Программное добавление тени к метке UIButton

Автор вопроса: edhogОтветов: 6

Я пытаюсь добавить черную тень размером 1px к метке кнопки, но безуспешно. Я пробовал это: self.setTitleShadowOffset = CGSizeMake(0, -1);, но я получаю:

Запрос члена setTitleShadowOffset в чем-то, кроме структуры или союза

Любые предложения были бы фантастическими спасибо!

iosuibutton

Ответы

Ответ 1 · рейтинг 23 · ArtOfWarfare

Другие ответы неправильно устанавливают цвет тени (я подозреваю, что они не заметили, потому что пытались установить цвет тени таким, какой он по умолчанию, черный.)

Этот код помог мне добавить белую тень к тексту моей кнопки:

myButton.titleLabel.shadowOffset = CGSizeMake(0, 1);
[myButton setTitleShadowColor:[UIColor whiteColor] forState:UIControlStateNormal];

Ответ 2 · рейтинг 38 · fsaint

Правильное свойство - self.titleLabel.shadowOffset:

UIButton *b = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[b setTitleShadowColor:[UIColor purpleColor] forState:UIControlStateNormal];
b.titleLabel.shadowOffset = CGSizeMake(1.0, 1.0);
[b setTitle:@"Hello, I'm a Button" forState:UIControlStateNormal];
b.frame = CGRectMake(10.0, 10.0,300.0, 40.0);

Ответ 3 · рейтинг 10 · visakh7

setTitleShadowOffset для UIButton устарело. Используйте свойство shadowOffset titleLabel объекта UIButton

buttonName.titleLabel.shadowOffset = CGSizeMake(0, -1);

Ответ 4 · рейтинг 7 · Raphael Souza

В Свифт 3.0

myButton.titleLabel?.layer.shadowRadius = 3
myButton.titleLabel?.layer.shadowColor = UIColor.black.cgColor
myButton.titleLabel?.layer.shadowOffset = CGSize(width: 0, height: 1)
myButton.titleLabel?.layer.shadowOpacity = 0.5
myButton.titleLabel?.layer.masksToBounds = false

Ответ 5 · рейтинг 1 · Wilson

для Свифт 3:

  button.setTitleShadowColor(UIColor.red, for: .normal)
  button.titleLabel?.shadowOffset = CGSize(width: 2, height: 2)

Ответ 6 · Userich

Вот как добавить тень к заголовку кнопки в Objective-C с помощью свойства radius:

#import <QuartzCore/QuartzCore.h>

button.titleLabel.layer.shadowOffset = CGSizeMake(2.0, 2.0);
button.titleLabel.layer.shadowColor = [UIColor colorWithWhite:0.1 alpha:0.7].CGColor;
button.titleLabel.layer.shadowRadius = 2.0;
button.titleLabel.layer.shadowOpacity = 1.0;
button.titleLabel.layer.masksToBounds = NO;

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы