- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的模型中有一个标签列表。我想将它们作为标签添加到 tagView
UIView 中作为 subview 。
NSMutableArray *list = [NSMutableArray new];
for (long i=0; i<_tagView.subviews.count; i++) {
UILabel *tagLabel = _tagView.subviews[i];
[tagLabel setTranslatesAutoresizingMaskIntoConstraints:NO];
[list addObject:tagLabel];
}
// Create the views and metrics dictionaries
NSDictionary *metrics = @{@"height":@25.0};
NSDictionary *views = NSDictionaryOfVariableBindings(list[0], list[1], list[2]);
// This is experimental as I assume there are three subviews in that.
[_tagView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|-[list[0]]-[list[1]]-[list[2]]-|" options:NSLayoutFormatAlignAllTop | NSLayoutFormatAlignAllBottom metrics:metrics views:views]];
这是可行的还是我必须采取不同的方向?
我忘记添加我收到的错误消息:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse constraint format:
list is not a key in the views dictionary.
|-[list[0]]-[list[1]]-[list[2]]-|
^'
更新:
键似乎没问题。
最佳答案
您应该创建自己的字典,这样就可以添加没有您现在得到的额外括号的名称。像“list[0]”这样的名称似乎会使解析器感到困惑。
NSMutableDictionary *views = [NSMutableDictionary new];
NSMutableArray *list = [NSMutableArray new];
for (long i=0; i<_tagView.subviews.count; i++) {
UILabel *tagLabel = _tagView.subviews[i];
[tagLabel setTranslatesAutoresizingMaskIntoConstraints:NO];
[list addObject:tagLabel];
[views setObject:tagLabel forKey:[NSString stringWithFormat:@"label%ld", i]];
}
NSDictionary *metrics = @{@"height":@25.0};
[_tagView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|-[label1]-[label2]-[label3]-|" options:NSLayoutFormatAlignAllTop | NSLayoutFormatAlignAllBottom metrics:metrics views:views]];
关于ios - constraintsWithVisualFormat 可以与动态生成的 View 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29978664/
我已经添加了这样的约束,但无法获得正确的 View 框架。 [self addSubview:self.scrollView]; [self.scrollView addSubview:self
我正在学习如何以编程方式使用 NSLayoutConstraints,主要是 constraintsWithVisualFormat,为此我正在尝试使用此布局重新创建 View : 这个 View 由
我已设置 ScrollView 并向 ScrollView 添加约束。但它显示空白屏幕。请检查以下代码。 override func loadView() { super.lo
我是 iOS 初学者,在我的项目中,我使用自动布局(constraintsWithVisualFormat)以编程方式在 UIView 上添加了一些文本字段,但两个文本字段之间的空间不固定. 根据我的
我在 Swift 2.0 中遇到 AutoLayout 的奇怪问题 self.webView = WKWebView() self.view.addSubview(self.webView!) var
我想在容器 View 的右下角放置一个指示器 View ,我有这个代码来插入 View var img:UIImageView? img = UIImageVi
我的模型中有一个标签列表。我想将它们作为标签添加到 tagView UIView 中作为 subview 。 NSMutableArray *list = [NSMutableArray new];
假设我有一个动态创建的 UIView 数组,并且我将它们添加到同一个父 View ,我可以使用 constraintsWithVisualFormat 来设置约束,以便它们垂直堆叠吗? constra
我有一个非常简单的用户界面,可以很好地与 constraintsWithVisualFormat 配合使用,我尝试用 constraintWithItem 替换它,但由于某种原因它无法正常工作。我不知
尝试使用 iOS 的可视化格式语言,但在尝试初始化约束时遇到 sigabrt。这段代码有什么明显的问题吗? NSNumber *inset = [NSNumber numberWithFloa
我正在尝试 Swift 并使用布局格式。我使用的 IDE 是 Xcode6-Beta2。 var viewDictionary:Dictionary = ["myButton": myButt
我遇到了一个问题,我不知道如何在某些特定 View 上使用没有 addConstraints 函数的旧函数 constraintsWithVisualFormat。 头文件说: This method
我只是在玩 constraintsWithVisualFormat 但不知道该怎么做。 我有两个 View 放置在一起,水平方向的边距为 10 像素。两个 View 的 Y 位置相同。 我尝试了以下方
我需要在我的应用程序中使用 constraintsWithVisualFormat 实现 UIScrollView 可能有人会用一些代码指导我。谢谢! import UIKit class ViewC
我认为很容易回答:如果我不想使用 [NSLayoutConstraint constraintsWithVisualFormat:options:metrics:views:] 的选项参数,应该传递什
所以我有一个项目,并且项目中的 UI 是完全编码的(根本没有 .xib 文件或 Storyboard)。使用 Objective-C,我们可以传递 nil 或 0 作为 options 参数的参数。像
我在我的演示项目中编写了以下代码。 func createConstraints() -> Void { //Views to add constraints to
我是一名优秀的程序员,十分优秀!