我有2个视图,我需要在特定条件下添加和删除另一个视图。问题是,当我添加视图,设置约束并隐藏我不需要的那个时,它会将手势中断到其他视图。
有没有简单的方法将一个视图放在视图层次结构的前面,以便用户可以与它进行交互?之后,我需要对其他一个视图执行相同的操作,并降低第一个视图层次结构优先级。
在其他问题中,我听说有可能改变Z坐标,也许有办法做到这一点来实现我的观点?
答案 0 :(得分:1)
尝试使用bringSubviewToFront:
和sendSubviewToBack:
来处理此类情况。隐藏视图不会将其从视图堆栈中删除,也不允许您与其下方的视图进行交互。希望这会对你有所帮助。
答案 1 :(得分:1)
您只能修改public void SomeMethod() // EDIT: this is the OnLoaded Event for example.
{
if(IsNotInDesignMode()) // This is implemented somewhere else.
{
// I want this to be called in the Test Execution.
DoSomething();
}
}
概念中的[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var currentWindow = new taskMngrWndw();
Application.Run(currentWindow);
Process[] processList = Process.GetProcesses();
foreach (Process proc in processList)
{
string processID = Convert.ToString(proc.Id);
currentWindow.taskView.Items.Add(new ListViewItem(processID));
}
currentWindow.taskView.Refresh();
}
。 zPosition
未公开此功能。然而它确实暴露了两种方法; CALayer
和UIView
。这需要在您要移动的视图的超级视图上调用,并将您想要移动的视图作为参数。
另请注意,如果您只是在顶部视图中设置sendSubviewToBack:
,它会将触摸传递到下方的视图。这可以节省视图位置的混乱。