问题标签 [view-hierarchy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - FrameLayout 不尊重绘制顺序
我有这个布局层次结构:
使用Android 设备监视器我已经转储了视图层次结构,并且我已经实现了这一点:
正如预期的那样。但是,如果我包括另外两个布局:
注意:a_framelayout
包含 aLinearLayout
和another_framelayout
包含 a View
。
我明白了:
这两个布局不应该分别具有 3 和 4 的索引而不是 0 和 2 吗?为什么是ScrollView
他们之间?
如果我将布局更改为:
我得到:
这更有意义,但现在a_framelayout
被交换了another_framelayout
,为什么?
尽管发生了这种奇怪的布局行为,但所有视图都在屏幕中正确呈现,并且布局正常工作。
有什么线索吗?
谢谢你的时间。
ios - 最佳实践是什么:多个 UIView 或多个 UIViewController
我计划开发一个包含多个页面的清单应用程序。每个页面都将显示一个简单的是/否问题列表和页面底部的“下一步”按钮。
在应用程序设计方面,我看到了两个选项
一个
UIViewController
带有一堆整页 UIView(分层,z-index)。从第 1 页切换到第 2 页我将使用sendSubviewToBack
UIViewController
每页一个。从第 1 页切换到第 2 页,我将介绍新的 ViewController。
问题:这两种方法的优点和缺点是什么。我监督过的任何其他选择?你有什么经验和建议?
android - 由于 Android 中的视图层次结构太深导致 StackOverflowError
我们在 Play 商店中获得了一些此类崩溃报告:
我们在我们的一个测试设备上遇到了这样一个异常,它出现了,这是因为视图层次结构的最大深度。我知道最大深度的建议是<10。然而,如果你有一个相当复杂的应用程序,这个值就相当大了。我们在带有 Fragments 的 Main-Acitivity 上使用 AppCompat v21 和 ViewPager。
出于这个原因,我认为我们有很多“毫无意义”的观点,它们只是封装了一个孩子。或者以下布局的目的是什么:
-NoSaveStateFrameLayout
-NativeActionModeAwareLayout
-FitWindowsFrameLayout
总的来说,包括 PhoneWindowDecorView 在内的总深度为 23。我们的 Viewtree 看起来像这样:
来自 RootView 的第一个视图:
尽管如此,我们的应用程序甚至可以在非常旧且性能不佳的 Android 2.3 设备上运行。为什么在现实世界中仍然会出现问题。
ios - 窗帘显露视图
我正在尝试实现以下具有挑战性的效果:我想将白色“窗帘”向下移动以露出红色框。(注意:在下面的截图中,窗帘是白色的,背景是灰色的)
问题出在视图层次结构中。
为了让盒子隐藏在初始位置,它必须放在窗帘后面,但为了在最终位置显示,它必须在窗帘的顶部。
我怎样才能“作弊”,让它看起来像窗帘真的用流畅的动画揭示了盒子?
谢谢!
ios - 插入 iOS 设备时如何检查“调试视图层次结构”?
我知道“调试视图层次结构”适用于 32 位 Mac 应用程序项目,它不支持所有类型的 iOS 模拟器。但我可以在一些 iOS 模拟器上使用。
现在,我正在使用AVCaptureVideoPreviewLayer
. 显然它在 iOS 模拟器上不起作用。
所以我的问题是,有没有办法在 iOS 设备上进行检查?你能给我一个建议吗?
android - Android Fragments:恢复以编程方式添加的视图
我有两个片段:fragmentA和fragmentB
在fragmentA中,以编程方式添加了一些视图
如果从fragmentA我转到fragmentB然后我回到fragmentA,所有以编程方式添加的视图都不再存在
在视图层次结构中恢复以编程方式添加的视图的方法是什么?
android - 一个可以在android上移动和调整大小的视图
我正在制作一个应用程序,它应该允许用户动态地使 ImageViews 存在,将它们移动到他们喜欢的地方,调整它们的大小并弄乱所述视图的层堆叠。
层堆叠我确实对如何实现有一些粗略的想法,仍然欢迎教程。
我正在绘制空白的是可调整大小的 ImageView 并且没有运气尝试找到该教程或提供此类内容的 github 项目。
我对 android 编程并不是 100% 的新手,但一些更高级的概念仍然飞过我的头顶,以至于我无法正确地对我找到的一对“close but no cigar”课程进行逆向工程。
为了对我正在寻找的内容进行视觉解释,这里是 WayCooler,它正是我需要做的。
我很确定我只是没有使用正确的搜索词来找到我需要的东西,但如果有人能指出我正确的方向,我会非常感激。
ios - 以编程方式设置自动布局约束
我不知道如何解决这个问题:我想创建一个匹配游戏,其中卡片的大小取决于设备。
我想我会创建一个 contentView,我将其固定在 rootView 的顶部和底部,边距为 20,并将其对齐到它的中心。然后我给它一个 3/4 的纵横比(对于 3 行和 4 列)。
这完美无缺。(哇哦!)然后我想创建一个卡片,其宽度为 contentView 的四分之一,高度为三分之一:
那里代码中断,我收到消息:
视图层次结构没有为约束做好准备: NSLayoutConstraint:0x78f1b290 Meeres_Memo_temp_caseinsensitive_renamery.Card:0x78f41820.height == UIView:0x78f49fc0.height 添加到视图时,约束的项必须是该视图(或视图本身)的后代。如果在组装视图层次结构之前需要解决约束,这将崩溃。
有没有可能,做我想做的事?
更新:
我刚刚发现我的错误。我在 thisCard 中添加了 heightConstraint 和 widthConstraint,但需要将它们添加到视图层次结构中更高的相关视图,在本例中为 contentView,如下所示:
ios - 如何将导航栏和 tableView 分开,而不是将导航栏放在 tableView 顶部
我想要它,这样我的导航栏就不会位于我的表格视图之上,而是与它分开,因此每个 tableView 单元格都以相等的比例显示。实际上,我似乎无法更改它,我尝试以编程方式手动添加它并尝试在视图层次结构中更改它,但我无法做到。我想有一个简单的解决方案我只是无法弄清楚那是什么?下面是我的代码。
c# - 控件不响应鼠标操作,因为它位于视图层次结构的底部
我有一个带有以下 DataTemplate 的 ContentControl
我希望在 oxy:PlotView 上显示一些文本,但如果这样做,oxy:PlotView 将停止响应鼠标操作(缩放、单击等)。
如何显示标签悬停在另一个控件上,但让底部控件仍然响应鼠标操作?