#iphone #objective-c #uikit #uibutton
#iPhone #objective-c #uikit #кнопка uibutton
Вопрос:
Я использую reversesTitleShadowWhenHighlighted
свойство UIButton для изменения тени текста заголовка (и это отлично работает), но я действительно хочу то же самое для выбранного состояния кнопки ( UIControlStateSelected
).
Любые ответы на связанные с этим вопросы также приветствуются:
- Есть ли способ сделать это с помощью a
UIButton
без изменений? - Есть ли способ установить shadowOffset метки заголовка для каждого состояния с помощью UIButton (аналогично тому, что возможно с помощью shadowColor)?
- Если бы вы расширили UIButton, чтобы добавить это, как бы вы это сделали?
Ответ №1:
Я сталкиваюсь с той же проблемой, поэтому, я думаю, это не относится к вашим первым двум вопросам. Вот как я его подкласс :
@interface MyButton : UIButton
@property (nonatomic) BOOL reversesTitleShadowWhenSelected;
@end
@implementation MyButton
@synthesize reversesTitleShadowWhenSelected;
- (void)setSelected:(BOOL)selected
{
if (self.reversesTitleShadowWhenSelected)
{
if ((selected amp;amp; !self.isSelected) ||
(!selected amp;amp; self.isSelected))
{
CGSize offset = self.titleLabel.shadowOffset;
offset.width *= -1;
offset.height *= -1;
self.titleLabel.shadowOffset = offset;
}
}
[super setSelected:selected];
}
@end