将Storyboard放在所有其他人之上

时间:2015-07-21 13:36:13

标签: ios objective-c iphone swift view

我有一个ViewController文件,在这个ViewController文件中,我以编程方式创建了一个视图,它占据了窗口上所有可用的位置。

现在,我想用Storyboard制作一个视图。我把这个视图(在我的例子中是一个按钮)放在我的故事板上。

当我启动我的应用程序时,我看不到我的按钮,因为它位于我以编程方式创建的视图之下。

这可以让我的Storyboard视图高于另一个视图吗?

非常感谢!

3 个答案:

答案 0 :(得分:1)

这取决于您的视图层次结构设置。

我假设:

A - View controller view
  | B - Your button 
  | C - Programmatically added fullscreen view

在上述情况下,您可以执行以下操作:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.view bringSubviewToFront:self.button];
}

Point is bringSubviewToFront:将子视图移动到层次结构的顶部。

答案 1 :(得分:0)

所以你必须为按钮创建一个插座(将故事板中的按钮连接到.swift文件中给出的名称)一旦你以编程方式添加视图,你就必须这样做

#include <iostream> #include <cstring> #include <conio.h> using namespace std; int main() { int i, size_of_word; char word[202]; cin.get(word, 201, '\n'); cin.get(); i = 0; while (i < strlen(word) - 1) { if (word[i] == word[i + 1]) { size_of_word = size_t(word + i ) + 1; strcpy_s(word + i + 2, size_of_word, word + i); } else { i++; } } cout << word; }

假设按钮是插座的名称。在以编程方式添加视图后,将添加此行。

答案 2 :(得分:0)

是的,这是可能的。

看起来您使用addSubview方法。 您遇到的问题是以这种方式添加的视图覆盖了现有视图。

您可以使用bringSubviewToFront将按钮置于最前面,也可以使用insertSubview:belowSubviewinsertSubview:aboveSubview来解决此类问题。在这两种情况下,您都需要存储在属性中的按钮。