具有动态内容的iOS自定义UIButton
我有一个按钮需要定制很多,如下图所示: 在图中,“2/8周”是动态内容,因此我自然想创建具有动态内容的iOS自定义UIButton,ios,objective-c,uibutton,Ios,Objective C,Uibutton,我有一个按钮需要定制很多,如下图所示: 在图中,“2/8周”是动态内容,因此我自然想创建UIButton的子类,并在其中添加标签,但是UIButton不允许我这样做 通过说UIButton不允许我这样做,我的意思是:在故事板中,我不能将标签作为其子视图拖动到按钮中——标签始终作为按钮而不是按钮的子视图位于保存级别。我试图为按钮创建一个xib文件,但是当我从UIButton创建一个新的目标类子类时,“创建xib文件”选项是灰色的 由于这样的任务总是有多种解决方案,我的问题是:推荐/最好的方法是什
UIButton
的子类,并在其中添加标签,但是UIButton
不允许我这样做
通过说UIButton
不允许我这样做,我的意思是:在故事板中,我不能将标签作为其子视图拖动到按钮中——标签始终作为按钮而不是按钮的子视图位于保存级别。我试图为按钮创建一个xib文件,但是当我从UIButton创建一个新的目标类子类时,“创建xib文件”选项是灰色的
由于这样的任务总是有多种解决方案,我的问题是:推荐/最好的方法是什么
更新:我在代码中将标签添加为按钮的子视图。但是,按下按钮时,标签不会自动变暗。我必须听按钮事件,并调整标签,以使其工作。但我不认为这是一个好的解决方案,所以如果有人有更好的解决方案,请告诉我
但是我不允许我这么做
事实上是的。
只需制作一个UILabel并将其作为子视图添加到按钮中。例如
依此类推。可以通过添加标签作为子视图来完成。。您面临的问题是什么?@iDev我更新了问题^ ^另一个想法是使用itI创建XIB。我尝试在序列图像板中这样做,但我无法在序列图像板中添加标签作为按钮的子视图,我也无法为UIButton创建XIB文件。我不明白为什么Xcode在代码中允许这样做,但在界面生成器中不允许这样做?是的,Xcode不允许通过故事板更改UIButton的视图层次结构。Buy您可以使用textedit打开.storyboard文件,并通过编写xml代码来完成此操作:))
@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