希望这并不太令人困惑。
我有一个主视图控制器(MainView
),该视图的底部有一个stackview,在stackview内部,我有三个视图。在其中一个视图中(我称其为footerView
),我要添加一点tooltipView
-并且因为footerView嵌套在MainView
底部的stackview中-它与其他意见。我想告诉tooltipView
在所有视图之上,但是它不起作用。在footerView
内部-它没有superview
(我想是因为它在堆栈视图中),所以我不能使用parentView.bringSubviewToFront(childView)
。
我该怎么办?通过层级委派是唯一的方法吗?
答案 0 :(得分:1)
您可以手动设置每个图层的<?php
function getFile($file) {
if (file_exists($file)) {
$file = file_get_contents($file);
$detect_enc = mb_detect_encoding($file);
if ($detect_enc != ini_get('default_charset'))
$file = mb_convert_encoding($file, $detect_enc);
return $file;
} else {
return false;
}
}
。默认值为0,因此如果不手动控制,可能无法获得所需的值。例如,您可以尝试
tooltipView.layer.zPosition = 1
或
tooltipView.layer.zPosition = .greatestFiniteMagnitude
将其设置为1会使它位于默认为0的其他视图之上,或者将其设置为zPosition
总是会位于最前面。
签出this answer on zPostion和Apple's documentation on zPostion。
答案 1 :(得分:0)
Tommy的回答确实有所帮助,但有帮助的另一件事是,我在tooltipView
完成设置之前就创建了footerView
,因此superview
是nil
的原因。我将tooltipView
的初始化移动到func layoutSubviews()
内部,并且可以正常工作。
但是也请确保您取消选中clip to bounds
。这就是为什么无论我对zPosition
所做的事情都没有改变