问题标签 [visual-format-language]

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

ios - Swift:以编程方式在相对于视图底部的位置添加一个字段

我想在没有 Interface Builder 的情况下以编程方式执行此操作。我想将 UITextField 添加到我的 iOS 应用程序中,与应用程序视图底部保持恒定距离。我查看了很多现有的问题和答案。Swift 中没有一个,而且这个主题似乎相对没有文档。

0 投票
1 回答
1207 浏览

ios - 以编程方式在 UICollectionViewCell 中设置布局约束

我有一个集合视图单元格,我试图在其中布局三个标签和一个图像。我的垂直布局似乎工作正常,但我似乎无法让水平布局达到可接受的状态——标签似乎不想像我想要的那样工作。

基本上,垂直尺寸是固定的,但我的单元格的水平尺寸会根据屏幕的宽度而变化,但通常在 320 左右。我希望图像处于固定位置,但 UILabels 会占用任何图像右侧的剩余空间。

我在下面包含了我预期布局的图片:

在此处输入图像描述

对于垂直布局,我有以下内容,其中标签是 l1 到 l3,图像是 i1:

要将图像从顶部限制为 20px:

要在固定的 134 高度单元格中垂直约束标签:

然后我期望标签水平如下:

这几乎可以工作。我必须设置以下内容才能使多行标签也起作用:

我遇到的问题是所有标签似乎仍然离左边太远,并且在右边留下了相当大的间隙,好像宽度没有动态调整?

任何关于我如何纠正的想法将不胜感激。

非常感谢。

0 投票
2 回答
550 浏览

ios - 使用 Visual Formatting Language 更改 NSLayoutConstraints 方向的正确方法

我有NSLayoutConstraints使用视觉格式字符串构建的单独数组,我想用于纵向和横向方向。我尝试了两种在两者之间切换的方法:激活/停用它们,以及添加/删除它们。

激活/停用:

添加/删除:

这两种方法似乎都可以正常工作并按预期运行,但是使用激活/停用方法时出现以下运行时错误:

这有一个共同的模式吗?如果它的行为符合预期,我可以安全地忽略该错误吗?一种方法与另一种方法相比是否有更多开销?我认为将“活动”属性翻转到我想要激活的属性上而不是重复向视图添加和删除约束更有意义。

或者这只是一种愚蠢的方式来做到这一点,我需要做一些NSLayoutAttributes直接改变的事情?

0 投票
1 回答
908 浏览

ios - 如何让子视图使用视觉格式约束填充其父视图?

这是代码,我创建了一个视图并将其添加到 self(继承自 MKMapView):

它说:

很奇怪,我只是想让它填满超级视图。谢谢

0 投票
2 回答
940 浏览

ios - 使用自动布局管理 UITextField 的动态位置

我的客户的要求如下:

我将使用大约 15 个文本字段(在服务器上预定义)创建注册表单。注册字段中的字段信息来自服务器。在某些情况下,某些字段可能不需要。因此,我将获得该特定情况所需的字段。

例如,假设服务器上预定义字段的数量为 15。即名字、姓氏、电话号码、出生日期、图片、电子邮件、地址、邮政编码等。

但在某些情况下,电子邮件 ID 字段可能不是必需的。所以我不会从服务器获取该字段。因此,应用程序端我必须从预定义的字段列表中隐藏电子邮件文本字段。

也有可能不需要多个(任何字段)字段。所以我也必须隐藏它们。我试图通过图像表示来解释情况如下。

情况1:

在此处输入图像描述

案例二:

在此处输入图像描述

在这种情况下,我正在做的是(应用程序端)我为所有预定义字段创建文本字段。然后我隐藏了根据服务器响应不需要的文本字段。即电子邮件文本字段或任何其他文本字段。

现在我的问题是,如果不需要任何字段,那么应该重新定位文本字段,并且我在我的应用程序中使用自动布局。我正在隐藏电子邮件文本字段然后如何设置下一个文本字段的位置,例如联系号码、出生日期等?

0 投票
1 回答
980 浏览

ios - 自动布局错误无法同时满足 UIScrollView 的约束

我有一个 UIScrollView 来显示 UIImageViews。ImageViews 在运行时根据用户先前保存的图像数量以编程方式插入。我收到以下错误:

无法同时满足约束。

以下列表中的至少一个约束可能是您不想要的。试试这个:(1)查看每个约束并尝试找出您不期望的;(2) 找到添加了一个或多个不需要的约束的代码并修复它。(注意:如果您看到不理解的 NSAutoresizingMaskLayoutConstraints,请参阅 UIView 属性 translatesAutoresizingMaskIntoConstraints 的文档)

我做了基本的自动布局,滚动视图在 0 点处固定到所有四个边。然后我添加一个 contentView 作为 UIScrollView 的子视图(普通 UIView),它也固定在 0 点的所有四个边上。

编辑情节提要约束图像

UIScrollview 上的情节提要约束设置为 0 到 superview 的所有边都设置为 0 到 contentView 的 Descendent 约束

我在代码中给 contentView 一个宽度,如下所示:

UIImageViews 的添加方式是这样的,其中 UIImageViews 是根据发生到 ViewController 的 segue 时设置的页数添加的。

此外,当我滚动 UIScrollView 时,显示的图像会在旋转时不规则地改变大小。我认为这只是上述警告的结果以及我尚未布置 UIImageViews 的事实。上述警告在这种情况下是什么意思,我该如何解决?

0 投票
1 回答
72 浏览

ios - 使容器视图居中

//我在屏幕上有 3 个容器。顶部/中间/底部(我在这里只添加了中间的代码)

0 投票
1 回答
121 浏览

ios - 带有 Xcode 的 VFL 用于自动布局

我有一个现有的应用程序,其中所有元素的定位都是用代码而不是自动布局编写的。我正在尝试使用现有代码为这些元素添加自动布局。

我试图让这两个按钮并排xButton显示checkButton在屏幕底部,这将适用于所有 iPhone 屏幕。当前行为是按钮向屏幕底部偏移。

下面是我的 VFL 所在的代码 - 但是它放置在 UIView 而不是 ViewController 中。

我试图自己解决这个问题,但没有运气,如果有人能帮我解决这个话题以及这个特定问题,我会很高兴的。谢谢

0 投票
2 回答
2725 浏览

ios - UIScrollview 拉动刷新不起作用

这是我用来在滚动视图中添加刷新控制器的代码。但是当我拉下滚动视图时,刷新控件没有显示,并且目标方法也没有被调用,为什么?

我正在搜索一段时间,但没有得到任何正确的答案。

具有 VFL 约束的滚动视图的另一件事是这样的:

0 投票
1 回答
59 浏览

ios - 使用 Autolayout 视觉格式语言连续布置火 UIViews

所以,我想使用Autolayout Visual Format Language将 4 放置UIViews在水平行中(从上到下,如键盘行)......但由于某种原因,它似乎没有按预期工作,因为我的观点似乎结束了一个堆叠在一起的堆栈...可能是由于视觉格式中的错误...

所以我有我的4个UIViews这样的:

我将它们添加到字典中:

我创建了约束:

并将约束添加到视图:

我期望的行为是视图垂直并排布置并水平拉伸,但它们似乎相互重叠......

知道我需要改变什么吗?