我有一个ViewController文件,在这个ViewController文件中,我以编程方式创建了一个视图,它占据了窗口上所有可用的位置。
现在,我想用Storyboard制作一个视图。我把这个视图(在我的例子中是一个按钮)放在我的故事板上。
当我启动我的应用程序时,我看不到我的按钮,因为它位于我以编程方式创建的视图之下。
这可以让我的Storyboard视图高于另一个视图吗?
非常感谢!
答案 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:belowSubview
和insertSubview:aboveSubview
来解决此类问题。在这两种情况下,您都需要存储在属性中的按钮。