2014-09-23 4 views
0

У меня есть кнопка, которая должна быть настроена много, как показано на рисунке ниже:IOS настроить UIButton с динамическим контентом

enter image description here

В изображении, «2/8 недель» динамический контент, поэтому, естественно, я хотел создать подкласс UIButton и поместить в него ярлык, однако UIButton не позволял мне это делать.

Говоря UIButton не позволял мне это делать, я имею в виду: в раскадровке я не могу перетащить ярлык в кнопку в качестве подзаголовка - метка всегда находится на уровне сохранения как кнопка, а не как ребенок кнопки , Я попытался создать файл xib для кнопки, но когда я создаю новый объектный класс подклассами из UIButton, параметр «create xib file» является серым.

Поскольку у такой задачи всегда много решений, мой вопрос: какой рекомендуемый/лучший способ сделать это?

UPDATE: Я добавил метку в качестве подпункта кнопки в коде. Однако при нажатии кнопки ярлык автоматически не будет затемнен. Я должен прослушать событие кнопки и настроить ярлык, чтобы он работал. Но я не думаю, что это хорошее решение, поэтому, если у кого-то есть лучшее решение, скажите, пожалуйста!

+0

Может быть сделано с меткой, добавленной в качестве подсмотра. В чем проблема, с которой вы сталкиваетесь? – Rajesh

+0

@iDev Я обновил вопрос^_^ – axl411

ответ

2

Однако UIButton не позволил мне это сделать.

На самом деле это так. Просто сделайте UILabel и добавьте в качестве подпрограммы к своей кнопке.
пример.

@interface MyButton() 

@end 

@implementation 

- (void)awakeFromNib 
{ 
    UILabel *weekLabel = [UILabel new]; 
    weekLabel.text = @"some text here"; 
    weekLabel.font = someFont; 
    [weekLabel sizeToFit]; 
    weekLabel.frame = CGRectMake(someX, someY, weekLabel.frame.size.width, weekLabel.frame.size.height); 

    [self addSubview:weekLabel]; 
} 

@end 

и так далее.

+0

Еще одна идея заключалась бы в создании XIB с ним – 2014-09-23 09:21:25

+0

Я пробовал делать это в раскадровке, но я не могу добавить метку в качестве подвид кнопки в раскадровке, я не могу создать xib-файл для UIButton. Я не понимаю, почему Xcode разрешает это в коде, но не в построителе интерфейса? – axl411

+0

Да, XCode не позволяет изменять иерархию представления UIButton через раскадровки. Купить вы можете открыть файл .storyboard с помощью textedit и сделать это, написав xml-код :))) – arturdev

Смежные вопросы