问题标签 [uistackview]

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

ios - 将 uipageviewcontroller 添加到 uistackview

我正在尝试将滑动照片库功能添加到视图的顶部。

为了给出上下文,用户点击按钮或行或其他东西。然后我加载一个带有 uistackview 的滚动视图。垂直组织,我有一个图像,然后是另一个堆栈视图,其中包含一些文本。现在,我希望该图像成为更大的“画廊”的一部分。我的研究告诉我实现 UIPageviewcontroller 并将其他图像添加到 childVC。

我将此用作教程(第一个示例):http ://www.raywenderlich.com/76436/use-uiscrollview-scroll-zoom-content-swift

我的应用程序与教程的唯一相关偏差是它以编程方式创建事物。

通过我对画廊功能的概念证明,我想将它与前面提到的堆栈视图集成。我的计划是首先将 pageviewcontroller 的东西添加到整个堆栈视图中,原始图像视图就在它的正下方,然后简单地删除原始图像视图,让我得到最终产品。

我能够将 pageviewcontroller.view 添加到 stackview,但画廊没有显示。看看 UI Inspector,我可以看到画廊有点加载,但它搞砸了。

就好像 uiview 有一个高度为 0 的框架,因此其他堆栈视图项不尊重 pageviewcontroller 试图显示的图像。

我认为可能是堆栈视图只能处理特定视图,而不是像 pageviewcontrollers 这样复杂的东西。

另请注意:我的实现都是程序化的,没有故事板,所以没有 xib。所以也许我在这里错过了一些东西。

这是一些代码,如果有帮助的话:

请注意,您看到的约束功能来自“制图”窗格

这会将“画廊”添加到堆栈视图中,从我的角度来看,它是一个委托函数

}

这就是为画廊项目创建滚动视图、图像视图等的原因:

我尝试添加这样的约束,但没有效果

func addZoomStuff(发件人:UIStackView){

}

如果这种方法不起作用,我可以做一个嵌套的水平堆栈视图而不是 pageviewcontroller 并以某种方式获得相同的滚动/捕捉效果,以便一次在图像视图上看到?

uiinspector_image

0 投票
2 回答
2165 浏览

ios - 在 Storyboard 中将 UIStackView 添加为空容器

我希望在 Storyboard 中添加一个高度为 0 的 UIStackView,我在代码中引用它以编程方式添加子视图。但是,Storyboard 抱怨它没有高度(我没有设置它,所以它警告我是正确的)。我只希望它充当其他视图的动态容器。我正在谈论的 UIStackView 作为子视图添加到另一个 UIStackView 中。

在此处输入图像描述

它是“名称标签”下方的堆栈视图。

0 投票
0 回答
279 浏览

ios - 删除和重新添加项目时 UIStackView 的间距消失

如果一个UIStackView对象包含三个或更多项目,当我从堆栈视图中删除项目然后重新添加它们时,项目之间的间距保持正常。

但是,如果同一个UIStackView对象包含两个项目,那么当我删除并重新添加它们时,它们之间的间距就会消失。

是什么导致了这种行为,我该如何解决?

这是一个简单的视觉效果: 我的视觉

这是与我的简单视觉相关的简单代码:

0 投票
1 回答
537 浏览

ios - iOS - 在横向显示一个很长的垂直堆栈视图

我在尝试以横向模式显示非常长的堆栈视图时遇到问题。我已经阅读并观看了一些关于自动布局和约束的教程,但在这种情况下我没有找到任何可以帮助我的东西:

我正在使用堆栈视图来构建我的 iphone 应用程序的视图;在一个视图中,我有一个非常长的垂直堆栈视图,由其他水平堆栈视图制成。我想找到一种在横向模式下显示整个垂直堆栈的方法,可能允许用户滑动/滚动页面并查看堆栈的其余部分,或者可能将堆栈“拆分”很多部分并将它们并排放置侧面水平。

我制作了一张图片以便更好地解释

例子

欢迎任何建议!

0 投票
0 回答
212 浏览

ios - UIButton 从 UIStackView 中移除

我正在尝试创建一排按钮(四个),它们将保持纵横比并缩放到水平UIStackView元素的边界。这适用于图像以及我测试过的所有其他元素,但是UIButton我遇到了一些非常令人沮丧的麻烦。

图像不会缩放,也不会停留在UIStackView的约束所创建的范围内。相反,图像会占用设备应用程序的整个大小。奇怪的是UIStackView,不是 UI 按钮的其他对象被适当地缩放,AND它们以正确的大小和纵横比显示。它们是应该基于约束的地方,但似乎UIButton完全脱离了UIStackView.

从界面中不可见按钮的结果中删除背景图像UIButton,并从UIStackView. 谁能指出我的解决方向。我想指出我正在使用RoboVM这样的解决方案Swift或者Objective-C对我没有好处是一件好事。

0 投票
1 回答
560 浏览

ios - 如何将 UIView 添加到 UITableViewCell 中的 UIStackView?

每当我尝试向 StackView 添加图像、gif 或视频时,单元格都不会调整大小以适应媒体。媒体只是与 StackView 内的所有内容重叠。

0 投票
2 回答
5006 浏览

ios - 在 UIStackView 的开头和结尾添加填充

我最近一直在切换UIStackView并尝试使用它来完成我的所有布局,它比使用自动布局要容易得多......除了一个例外。

我有一个使用嵌套UIStackViews和垂直堆栈视图的布局,里面是一个水平堆栈视图。

像这样...

这很好,只是我现在想在按钮和屏幕边缘之间留出一个空间。我可以在按钮之间设置一个空间,但不能在边缘设置。

有没有办法做到这一点?

我想要的是这个...

这两个按钮都具有带圆角的背景颜色。我想要屏幕边缘和背景之间的间隙。

如果这是有道理的。

我只是找不到任何可以让我这样做的东西。

0 投票
2 回答
76 浏览

ios - UIStackView 带有 emoji 字符的标签在设备旋转后按比例填充和水平轴时无法正确呈现

我有两个UIStackView垂直并按比例填充分布和对齐中心。其中之一包含表情符号。UIlabels

这是它在纵向模式下的外观:

在此处输入图像描述

当设备旋转时,我将轴更改为水平,并对齐到第一个基线。这是旋转后的样子:

在此处输入图像描述

当标签不包含表情符号时,一切都很好:

在此处输入图像描述

问题的根源在哪里?

0 投票
1 回答
3186 浏览

ios - UICollectionViewCells 中的 UIStackView 性能不佳

我正在使用在我的子类中UIStackView进行布局。我正在使用 iOS SDK 9.2UILabelsUICollectionViewCell

如果我在将它们出列时不更新标签,则集合视图的滚动是平滑的text。但是,如果我在将它们出列时更新text它们,则滚动非常慢。

我做了一个非常小的演示来展示问题,在设备(而不是模拟器)上运行。您可以创建一个新的空项目并将其内容替换为ViewController.swift

当您注释掉对fillLabels.

如果您尝试在没有UIStackViews并包含 call的情况下重现相同的布局fillLabels,您会注意到滚动也很流畅。

这表明UIStackView如果重新计算其布局,则会遇到性能瓶颈。

这个假设正确吗?有一些解决方案吗?

0 投票
8 回答
19209 浏览

ios - UIStackView 中的重叠视图

我有一个水平堆栈视图,我向其中添加了排列的子视图(7 个单元格)。堆栈中的每个单元格都有一个超出视图边界的圆形标志(负约束)。运行时,如下所示,每个单元格都位于前一个单元格的徽章之上。我想更改顺序,以便徽章完全可见。

在此处输入图像描述

尝试使用 Z 索引,但它没有帮助,因为图层在某种程度上不平坦,正如您在以下视图层次结构中看到的那样:

在此处输入图像描述

任何想法或建议如何做到这一点?

谢谢。