- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我试图让它工作,但界面构建器正在努力,我想知道是否有人对此有合适的解决方案。
所以我想要一个包含多行标签的stackview。谷歌上的第一次点击(read here)告诉您将标签嵌入 View (A),然后将该 View 拖到另一个 View (B)(因为嵌入 View (A)有一个 20 像素的垫)然后取消嵌入第一 View (A)....瞧。除了这只会欺骗水平堆栈的堆栈 View ,如果您继续堆栈 View ,您仍然会遇到很多问题(我将在问题的后面用屏幕截图进行演示)。
我找到了 another guide在谷歌上批评该问题的潜在修复方法,即修复堆栈 View 宽度。作者指出 Apple 并不打算让你这样做,毕竟它应该是自动布局,而不是固定布局。本指南认为问题只是一个错误,您可以创建一个带有单行标签的堆栈 View ,将其全部设置好,然后添加多行。我试过这个但没有用,它只是把整个堆栈 View 搞砸了!除非标签的行数设置为 1 且仅为 1,否则堆栈 View 将扭曲并基本上中断。(Image 1) Stackview with label set to have multiple lines.
所以我之前谈到了在 View 中嵌入段落标签。 This doesn't cause any errors in the storyboard,(Image 2)您无法真正将文本与其他 UIStack 正确对齐,但这不是我要立即解决的问题。什么是问题是在运行时发生了什么...... Simulator, Portrait (Image 3) , Simulator, Landscape (Image 4) .
我尝试在实际设备上运行它以查看它是否只是一个模拟器错误,但同样的事情发生在我的 iphone 6 上。可以肯定地说这可能行不通!
哦,在我们继续之前,我将按以下方式构建堆栈 View :
[name - placeholder]
[phone - placeholder]
[address - placeholder]
, setting a spacing of 8 and equal fill
,vertically stacking all of these stacks (3 into 1) and setting a spacing of 8
, vertically stacking the details titles with the big stack and 8 spacing
,finally adding the title and button into the stack view with a spacing of 32.
然后我应用一些 Storyboard 约束:在本例中只是垂直和水平居中,因此 View 始终居中并在两个屏幕方向上正确显示。
即使这没有正确对齐,这是在应用堆栈和约束之前的 View ,这就是我希望我的残局看起来像:Looks kind of silly, but I want to figure this out so I can actually stack my paragraphs! (Image - 5) .
现在我希望我已经确定您不能真正将标签嵌入 View 中,因为它在运行时无法正确呈现,并且您不能欺骗堆栈添加新行。
如何将多行标签安全地放入堆栈 View 中?
这几乎是一个分支问题,但是当您尝试将堆栈应用于段落标签时,它会将标签的宽度设置为绝对巨大(有时它会抛出界面构建器无法呈现它的错误 Demonstrated here (Image 6) 。我已经看到这种情况发生过几次,但并不真正理解 xcode 如何认为这是一个明智的选择。
我不想对我的标签或堆栈应用固定宽度,因为我只会收到另一个警告,而警告是不好的!
我完全不知道该怎么做,如果有人知道实现这一目标的方法,我将永远感激不尽!
谢谢
最佳答案
这看起来确实是一个错误。
对我有用的解决方法是将多行标签嵌入 View 中并将其保留在那里。
这修复了 Storyboard 编辑器上的布局,也适用于模拟器。
奇怪的是,如果我在同一个 StackView 上有多个多行标签,我只需将其中一个嵌入到 UIView 中,然后所有其他多行标签就会正常运行。
关于swift - UIStackView 和多行标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47064879/
我有一个很大的 CustomView,我在上面放置了一个父 UIStackView 以包含两个 UIStackView。 每个 UIStackView 都设置为包含两个项目,每个项目均等填充。 第一个
我正在尝试使用嵌入式 UIStackViews 来获得如下所示的内容: Label1 ----------------Label2 Label3 -- 所以我在一个水平 UIStackView 中有
前言:我偷看了this post它并没有解决我的问题。这是一个 link to a repo这显示了我遇到的错误。 我有一个 UIViewController 和一个包含嵌套水平 UIStackVie
在上面的屏幕中,您可以看到我正在使用 UIStackView 来垂直填充单选按钮。问题是当我使用 stackV.alignment = .leading 时,我的单选按钮没有利用 UIStackVie
我想问一下 UIStackView() 和 UIStackView(frame: .zero) 初始化程序之间的区别。 我想知道这两者中的哪一个是由 UIStackView() 默认触发的。 @int
问题:图像占用了大部分堆栈,文本缩小了 我尝试更改内容拥抱优先级但没有任何更改! 如何使用 storyboard 在 UIStackview 中做到这一点? 我希望单元格看起来像 Eventbrigh
我正在尝试制作一个比使用 UICollectionView 更容易制作网格的 UIControl 来执行某些小任务。我正在使用 UIStackViews 的 UIStackView。那是垂直堆栈(列)
我有一个嵌套的 UIStackView,当我按下一个按钮时,它就会被实例化。更详细地说,我有一个 UIStackView,它遍历一个充满 CustomUIStackViews 的 NSMutableA
我目前正在尝试制作一个简单的应用程序,该应用程序将根据用户输入显示少量内容。目前,我的屏幕上有一个堆栈 View ,里面有一个 UIView。我试图做到这一点,一旦按下一个按钮,UIView 就会消失
https://spin.atomicobject.com/2017/02/20/uistackview-stacking-child-views/ 我正在按照本教程获取 View 堆叠并使用它们的内
每个 View 都有一个进行渲染的层。令我困惑的是,您无法为堆栈 View 设置圆角半径或边框,但当您隐藏其中一个已排列的 subview 时,其余 subview 会填满堆栈 View 。 此外,A
我正在尝试在堆栈 View 中排列一组按钮。但是,当我使用 for-each 循环来执行此操作时,按钮最终会被一个放在另一个的顶部? var stackView: UIStackView = {
我正在尝试将 UIStackView 添加到我的窗口,但它没有显示。如下所示,我已经成功添加了 UINavigationBar。我还尝试添加各种其他控件,但实际上只出现了另一个 UIView。我已经附
我有一个 UIStackView (stack1),它包含两个排列的 View :一个 UIStackView (stack2) 和一个 UIScrollView (scroll) stack2 有固
我需要在水平 UIStackView 中有 X 个按钮,它位于 UIScrollView 中。要求是按钮应该均匀分布在堆栈 View 中,并且随着按钮数量的增加我应该减少间距以使它们适合屏幕的宽度,但
我有一个 UIScrollView 可以填充所有窗口并且包含一个垂直的 UIStackView 我想在其中添加 UILabels 以填充所有可用宽度. UIStackView 固定在 UIScroll
在使用平移手势移动 UIStackView 中的元素后,我试图获取/保留该元素的句柄。 例如,我试图捕获的元素是按钮标签或文本标签文本。 代码解释... 我正在通过函数 func createButt
我在 Storyboard中定义了一个 UIStackView,第一个按钮的高度设置为 70,其他按钮的高度设置为 45。我收到此自动布局错误: [LayoutConstraints] Unable
问题很简单——我真的很喜欢用 UIStackView 来组织 UI。但是,我在测试应用程序中看不到 UIStackView 边界。当 UI 元素不是预期的时候,我需要花很多时间来调试。在网上搜索,我找
我正在尝试将 UIButtons 动态添加到 UIStackView,但遇到了一些奇怪的行为。由于按钮内的文本也是动态的,因此它应该是多行的(默认情况下不是)。所以我这样设置中断模式: button
我是一名优秀的程序员,十分优秀!