将 Storyboard 上的视图置于所有其他视图之上
Put a view on Storyboard above all others
我有一个 ViewController 文件,在这个 ViewController 文件中,我以编程方式创建了一个视图,它占据了 window.
上的所有可用位置
现在,我想用故事板做一个视图。我把这个视图(在我的例子中是一个按钮)放在我的 Storyboard 上。
当我启动我的应用程序时,我看不到我的按钮,因为它位于我之前以编程方式创建的视图下。
是否可以让我的 Storyboard 视图高于另一个视图?
非常感谢!
所以你必须为按钮创建一个出口(将故事板中的按钮连接到你的 .swift 文件中给它的名称)以编程方式添加视图后,你只需要做
self.view.bringSubviewToFront(button)
假设按钮是插座的名称。此行将在以编程方式添加视图后添加。
这在某种程度上取决于您的视图层次结构设置。
我假设是这样的:
A - View controller view
| B - Your button
| C - Programmatically added fullscreen view
在上述情况下,您可以这样做:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.view bringSubviewToFront:self.button];
}
点是 bringSubviewToFront:
将子视图移动到层次结构的顶部。
是的,这是可能的。
您似乎使用了 addSubview
方法。
您遇到的问题是以这种方式添加的视图覆盖了现有视图。
您可以使用 bringSubviewToFront
将按钮置于最前面,或者使用 insertSubview:belowSubview
和 insertSubview:aboveSubview
来解决此类问题。在这两种情况下,您都需要将按钮存储在 属性.
中
我有一个 ViewController 文件,在这个 ViewController 文件中,我以编程方式创建了一个视图,它占据了 window.
上的所有可用位置现在,我想用故事板做一个视图。我把这个视图(在我的例子中是一个按钮)放在我的 Storyboard 上。
当我启动我的应用程序时,我看不到我的按钮,因为它位于我之前以编程方式创建的视图下。
是否可以让我的 Storyboard 视图高于另一个视图?
非常感谢!
所以你必须为按钮创建一个出口(将故事板中的按钮连接到你的 .swift 文件中给它的名称)以编程方式添加视图后,你只需要做
self.view.bringSubviewToFront(button)
假设按钮是插座的名称。此行将在以编程方式添加视图后添加。
这在某种程度上取决于您的视图层次结构设置。
我假设是这样的:
A - View controller view
| B - Your button
| C - Programmatically added fullscreen view
在上述情况下,您可以这样做:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.view bringSubviewToFront:self.button];
}
点是 bringSubviewToFront:
将子视图移动到层次结构的顶部。
是的,这是可能的。
您似乎使用了 addSubview
方法。
您遇到的问题是以这种方式添加的视图覆盖了现有视图。
您可以使用 bringSubviewToFront
将按钮置于最前面,或者使用 insertSubview:belowSubview
和 insertSubview:aboveSubview
来解决此类问题。在这两种情况下,您都需要将按钮存储在 属性.