iOS:以编程方式添加的UILabel不显示在情节提要视图上方

iOS:以编程方式添加的UILabel不显示在情节提要视图上方,ios,xcode,swift,uiview,Ios,Xcode,Swift,Uiview,我正在学习一个教程,其中导师通过故事板向主视图添加了一个UIScrollView和一个嵌套的UIView。他将UILabel拖到了故事板上,但我更愿意以编程方式添加这些元素,所以我尝试这样做。在我的viewDidLoad()函数中,我添加了以下基本代码: var label = UILabel(frame: CGRectMake(5, 100, 200, 50)); label.textAlignment = NSTextAlignment.Center; label.t

我正在学习一个教程,其中导师通过故事板向主视图添加了一个
UIScrollView
和一个嵌套的
UIView
。他将
UILabel
拖到了故事板上,但我更愿意以编程方式添加这些元素,所以我尝试这样做。在我的
viewDidLoad()
函数中,我添加了以下基本代码:

    var label = UILabel(frame: CGRectMake(5, 100, 200, 50));
    label.textAlignment = NSTextAlignment.Center;
    label.textColor = UIColor.whiteColor();
    label.backgroundColor = UIColor.redColor();
    label.text = "Hello!";

    self.view.insertSubview(label, aboveSubview: self.scrollView);
    self.view.bringSubviewToFront(label);
这可以正常工作,运行时不会出错。。。除了UILabel是其他一切的幕后黑手。如果我单击“查看调试继承人权限”,我可以看到我的鲜红色标签已添加,但在其他所有内容的后面-尽管最初尝试将其插入滚动视图上方,并且另外尝试了
将subviewTofront


我还缺什么吗?或者这是一个试图在以编程方式添加内容和通过故事板添加内容之间进行混合和匹配的问题?

在故事板中有什么设置?是否添加了滚动视图?考虑到这种设置,您的代码对我来说运行良好。标签在前面(即使没有bringSubviewToFront线)。也没有必要使用insetSubview;如果使用addSubview,则最后添加的视图将是最上面的视图。是的:在故事板中,它将(按上升顺序)
view->ImageView |[相邻]滚动视图->UIView
。如果我以编程方式在ViewController中的
ViewDidLoad()
中添加
UILabel
,它将显示为根视图中的第一个项目,位于其他项目之后。我假设它是按照你说的方式工作的,但它似乎不是(至少在这个例子中),这是令人沮丧的。类似地,如果我添加到scrollView或contentView中,它将显示为这些视图中的第一项,位于其他所有内容之后。嗯。。。。我无法解释。当我这么做的时候,事情不是这样的。