问题标签 [uilayoutguide]

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 回答
605 浏览

ios - 不同版本 iOS 上的 EXC_BREAKPOINT

在低于 iOS 11 的任何版本中,我的应用程序总是在 2 个不同的地方崩溃。

其中一个崩溃是 EXC_BREAKPOINT 在 appDelegate 类定义行上中断 - class AppDelegate: UIResponder, UIApplicationDelegate {}

而另一个在简单的 segmentedControl?.removeAllSegments() 上使用 EXC_BREAKPOINT 崩溃(是的,我检查了 segmentedControl 是否为空;它不是)。

有趣的是,我在 2/3 周前从未遇到过这个问题,而且我知道我没有从这两个地方更改任何代码行。

调试器只是这样说:“-[UILayoutGuide nsli_superitem]: message sent to deallocated instance 0x600000386db0”

这是堆栈跟踪:

0 0x000000010a79c92e _T09 30SegmentedControlViewControllerC05setupcD0yyF + 126 1 0x000000010a79c6df _T0930SegmentedControlViewControllerC05setupE0yyF + 511 2 0x000000010a5dba30 _T0929MasterStockInfoViewControllerC11viewDidLoadyyF + 624 3 0x000000010a5dbb04 _T0929MasterStockInfoViewControllerC11viewDidLoadyyFTo + 36 4 UIKit 0x000000010bec101a -[UIViewController loadViewIfRequired] + 1235 5 UIKit 0x000000010bec73a6 -[UIViewControllerviewWillAppear:] + 118 6 UIKit 0x000000010bef13c8 -[UINavigationController _startCustomTransition:] + 1305 7 UIKit 0x000000010bf01967 -[UINavigationController _startDeferredTransitionIfNeeded:] + 687 8 UIKit 0x000000010bf02b41 -[UINavigationController __viewWillLayoutSubviews] + 58 9 UIKit 0x000000010c0f460c -[UILayoutContainerView layoutSubviews] + 231 10 UIKit 0x000000010bde155b -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1268 11 QuartzCore 0x000000010ec60904 -[CALayer layoutSublayers] + 146 12 QuartzCore 0x000000010ec54526 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 370 13 QuartzCore 0x000000010ec543a0 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24 14 QuartzCore 0x000000010ebe3e92 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 294 15 QuartzCore 0x000000010ec10130 _ZN2CA11Transaction6commitEv + 468 16 QuartzCore 0x000000010ec10b37 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 115 17 CoreFoundation 0x000000010e00a717 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION_ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24 14 QuartzCore 0x000000010ebe3e92 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 294 15 QuartzCore 0x000000010ec10130 _ZN2CA11Transaction6commitEv + 468 16 QuartzCore 0x000000010ec10b37 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 115 17 CoreFoundation 0x000000010e00a717 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION_ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 24 14 QuartzCore 0x000000010ebe3e92 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 294 15 QuartzCore 0x000000010ec10130 _ZN2CA11Transaction6commitEv + 468 16 QuartzCore 0x000000010ec10b37 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 115 17 CoreFoundation 0x000000010e00a717 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION0x000000010ec10b37 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 115 17 核心基础 0x000000010e00a717 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION0x000000010ec10b37 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 115 17 核心基础 0x000000010e00a717 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION+ 23 18 CoreFoundation 0x000000010e00a687 __CFRunLoopDoObservers + 391 19 CoreFoundation 0x000000010dfef720 __CFRunLoopRun + 1200 20 CoreFoundation 0x000000010dfef016 CFRunLoopRunSpecific + 406 21 GraphicsServices 0x00000001117bba24 GSEventRunModal + 62 22 UIKit 0x000000010bd1e134 UIApplicationMain + 159 23 0x000000010a7c2257 main + 55 24 libdyld.dylib 0x000000010f6bd65d start + 1

有关这方面的任何信息都会有所帮助,目前正在探索所有选项。如果您需要这方面的更多信息,请发表评论,我会立即回复您。谢谢

0 投票
1 回答
305 浏览

ios - VFL 的 NSLayoutConstraint 样式

"V:|[v(>=height)]-0.0@highPriority-|"

上述 VFL 的约束(NSLayoutConstraint 样式)是什么。

也许它考虑了带有greaterThanEqual& 底部约束的视图高度UILayoutPriority.defaultHigh

我用过的东西-

0 投票
1 回答
59 浏览

ios - 按比例约束 UIView

我想以相对的方式定位我的观点。我想使用百分比而不是像素。假设我想将按钮的中心定位在其超级视图高度的 25% 处。我该怎么做?

一种方法是:

button.topAnchor.constraint( equalTo: superView.topAnchor, constant: /* compute constant "dynamically") .isActive = true

但这感觉很愚蠢,因为我们multiplier在许多 Layout Margin API 函数中都有一个参数。

但是,如果我键入button.centerYAnchor.constraint,则建议的补全都不会显示任何带有multiplier参数的函数,除了名称中的 with systemSpacing。我研究过“系统间距”,但无法弄清楚它的作用。

如果我有这个约束:

button.topAnchor.constraintEqualToSystemSpacingBelow(rootView.topAnchor, multiplier: 0.2).isActive = true

该视图位于其 superView 顶部的正下方。

0 投票
1 回答
805 浏览

ios - iOS 10,swift 4.1,将视图的顶部锚点设置为 topLayoutGuide 底部锚点导致冲突

我正在尝试将视图的位置设置在状态栏下方。它适用safeAreaLayoutGuide于 iOS 11+,但我正在尝试使用我在网上找到的 < 11 建议。

这是我正在尝试的。

在 iOS 10 的情况下,我遇到了这个问题(如下),不确定这个冲突来自哪里。

层次结构是带有子视图控制器的 UIViewController(parentController) (运行此代码的位置,并引用了父控制器)

子视图是在代码中添加的,并且可以放置在屏幕上的不同位置,在这种情况下它位于顶部中心。

0 投票
1 回答
33 浏览

swift - 按比例空间定位对象

我下面的快速代码是定位对象。我希望两个对象都覆盖 x 轴的 10%。所以第一个对象是fight[0].image,第二个对象是fight 1.image。正如您在左侧的图像中看到的那样,下面的当前代码正在生成。右边的图像是我希望代码生成的。由于我不能约束下面的代码,我不知道如何实现这个结果。所以fight[0].image 应该覆盖x 轴的10%,然后fight 1 .image 应该覆盖x 轴的下一个10%。这 2 个对象加起来应该覆盖 x 轴的 20%。

在此处输入图像描述

0 投票
1 回答
49 浏览

ios - 布局指南与自动布局约束有冲突

我在一本 iOS 编程的书中输入了一个示例,但该示例不起作用。示例的结果应该如下图所示:

在此处输入图像描述

该示例的代码如下所示:

在示例中,起初没有这样的代码行

程序的结果如下图:

在此处输入图像描述

在控制台中,有以下警告消息:

似乎这里发生了两种冲突。一个冲突是在自动布局指南和视图的自动调整大小掩码之间,另一个是在自动布局指南和视图的自动布局约束之间。

因此,为了解决第一个冲突,我添加了行代码:

但是,结果是模拟器屏幕上没有显示任何内容。

而且我不知道如何解决第二个冲突,即自动布局指南和视图的自动布局约束之间的冲突。

谢谢您的帮助!