Я пытаюсь добавить черную тень размером 1px к метке кнопки, но безуспешно. Я пробовал это: self.setTitleShadowOffset = CGSizeMake(0, -1);, но я получаю:
Запрос члена setTitleShadowOffset в чем-то, кроме структуры или союза
Любые предложения были бы фантастическими спасибо!
Ответ 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;