Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有动态内容的iOS自定义UIButton_Ios_Objective C_Uibutton - Fatal编程技术网

具有动态内容的iOS自定义UIButton

具有动态内容的iOS自定义UIButton,ios,objective-c,uibutton,Ios,Objective C,Uibutton,我有一个按钮需要定制很多,如下图所示: 在图中,“2/8周”是动态内容,因此我自然想创建UIButton的子类,并在其中添加标签,但是UIButton不允许我这样做 通过说UIButton不允许我这样做,我的意思是:在故事板中,我不能将标签作为其子视图拖动到按钮中——标签始终作为按钮而不是按钮的子视图位于保存级别。我试图为按钮创建一个xib文件,但是当我从UIButton创建一个新的目标类子类时,“创建xib文件”选项是灰色的 由于这样的任务总是有多种解决方案,我的问题是:推荐/最好的方法是什

我有一个按钮需要定制很多,如下图所示:

在图中,“2/8周”是动态内容,因此我自然想创建
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