问题标签 [uiview-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.

0 投票
1 回答
130 浏览

ios - 关闭 uiimagepicker 时崩溃

在此处输入图像描述 这是 crashlytics 报告的一个问题。当我加载图像选择器并关闭时,我得到了这个(我假设)。我只得到过一次。但它与图像选择器或导航控制器有关。有人知道原因吗?

更新 图像选择器相机是这样加载的。

对于其他源类型,我使用以下代码。

0 投票
1 回答
1023 浏览

ios - ios自动布局覆盖另一个视图边缘的视图(分层),以编程方式

在这里,我设计了一个自定义箭头,该箭头将用作共享按钮。它应该被固定在下边缘,如图所示,它的中心点被锚定到底部视图。

在此处输入图像描述

我将如何使用 VFL 做到这一点?

这就是我尝试的

其中whiteSquareshareButton都附加到超级视图中。但这只是放在shareButton超级视图的底部,而不是中心锚定到 whiteSquare 的底部

0 投票
1 回答
2453 浏览

ios - 在键盘上显示带有按钮的 UIView,例如在 Skype、Viber messengers(Swift、iOS)中

我想创建附件视图,放置在输入附件视图下,通过键盘,如在 Skype 应用程序或 Viber 中:

在此处输入图像描述

我已经在这里问过这样的问题,但是针对这个问题的建议解决方案并不那么优雅,因为当我将滚动视图拖到顶部时,我希望我的附件 UIView 用键盘向下移动(我使用 UIScrollViewKeyboardDismissModeInteractive)。

所以我创建了一个函数,找出视图,其中放置了键盘和我的自定义输入附件视图:

在此处输入图像描述

在它之后,我添加了一个自定义 UIView 并创建了一些约束:

这会在输入附件视图和键盘上方创建自定义 UIView,当我向上滚动时它会移动。但是当我想按下按钮时,我按下键盘上的一个键。

在此处输入图像描述在此处输入图像描述

那么如何将此视图移动到 UIInputSetHostView 中的视图层次结构的顶部?

0 投票
1 回答
2280 浏览

ios - 尽管 UIAlertController 在视图层次结构中,但呈现一个 ViewController

我想在presentViewController出现时alertController

我想,如果用户现在按下 Ok 按钮,我想ViewController在 PushNotification 上显示来自 AppDelegate 的消息。

我开始了解在UIAlertController不同线程上呈现的 SO,因此希望ViewController在用户按下 Ok 按钮并移至主线程后呈现如下:

但我收到警告:

这是因为视图控制器正在呈现警报控制器。其他时候它运行良好..我的 rootViewController 更改并移动到下一个屏幕..但是当有 UIAlertController 时,我收到警告,因为尝试呈现不在视图层次结构中的视图控制器

我究竟做错了什么?

0 投票
1 回答
40 浏览

ios - 在 iOS 应用程序中跟踪 UIWINdow 上的视图

当我们使用导航控制器作为窗口的根时,我们在该导航控制器上推送了多个控制器。假设 A 作为导航控制器 B 作为导航控制器的根 C 被推送到 B D 被推送到 C

那么窗口视图的层次结构是什么。是否像第一个窗口 -> A -> B -> C -> D;

或者它们在内存中但在窗口中只有一个 D?

0 投票
1 回答
885 浏览

ios - 设置 CGRect 的优先级 - Swift

使用我用 Swift 编写的 iOS 应用程序,我有一个视图,我在其中以编程方式显示一个占据整个视图空间的框架。我在故事板中有一个按钮插座。当视图加载时,按钮隐藏在框架后面。

如何在框架上显示按钮?

0 投票
1 回答
84 浏览

ios - UIView 的框架被随机覆盖

我的UIViews设置方式有问题。

情况

我有一个视图,我将添加一些详细视图。这些详细视图是按顺序排列的,就像 a 的行一样UITableView。这实际上是一个很好的比较。不同之处在于,在此视图中,我们不是上下滚动,而是横向滚动。

在这些详细视图中,屏幕上始终只有一个。当我添加第一个屏幕时,我还会加载下一个屏幕(向右)并将其绘制到屏幕外(再次向右)。当用户点击一个按钮时,我们会通过一个小动画进入下一个视图。最后一个可见视图滑出到左侧,第二个视图从右侧滑入。此时,我保留对现在左侧视图的引用并加载新的右侧视图(如果有的话)。我创建了一个协议,使任何其他对象成为我称之为SlidableDetailViewController( SDVC) 的数据源。

目前,我在数据源的didSet. 在此设置期间,它会生成这三个帧(同样,左侧、中间和右侧)。

问题

当视图加载并首次出现在屏幕上时,中心视图的框架不是应有的,而是更小。第二个详细视图将正确显示。当我回到第一个时,框架也会更新和正确。

当我对其进行调试时,会正确计算和设置帧。当我闯入时viewWillAppear(_:),即使是视图的框架也是我所期望的。当我做同样的事情时,viewDidAppear(_:)它已经缩小到这个没人想要的奇怪尺寸。我什么也没做。我只是用它们来调试这里的代码。

有人看到我在这里做错了吗?

我很确定这只是我的愚蠢错误,但我现在无法弄清楚。

代码示例更新

计算帧数:

加载下一个视图(加载上一个视图的工作方式几乎相同):

谢谢!

0 投票
1 回答
196 浏览

ios - Segue上的“谁的视图不在视图层次结构中”

我尝试在加载后(服务器发送命令继续)以编程方式从一个视图到另一个视图执行 segue,但它不会发生,因为“谁的视图不在视图层次结构中”。关于如何解决它的任何想法?

PS 我没有从 viewDidLoad() 方法执行任何 segues,所有这些都是从一个方法执行的,该方法也从这个类中的另一个方法调用(它读取从服务器发送的字典)。我也尝试像这样执行segues

就像这样(即使我知道这是错误的):

这些都不起作用,我仍然得到同样的警告。

0 投票
0 回答
670 浏览

ios - Swift:在视图层次结构中重置视图控制器

我试图在被解雇并且视图返回Game时完全重置。我试过解雇,但它也摆脱了. 我什至已经从视图控制器中展示了,但它并没有带来好的结果。 Endgame ScreenGameGameEndgameScreenEndgameScreenMenu在此处输入图像描述

感谢任何可以提供帮助的人,我已经为此工作了几天!

0 投票
1 回答
53 浏览

ios - 想要放置在透明层上的按钮的深色

我的控制器上有一个透明层,上面有 imageview。现在,当我将按钮与图像放在一起时,它会显示透明度。虽然我将按钮上的 alpha 设置为 1,而且我也知道按钮始终是透明的,但我必须将按钮透明度设为零。我找不到解决方案。

尽快回复..

提前致谢。