如何为Visual Format Language创建的约束设置尊重语言方向?

时间:2015-07-22 11:41:06

标签: ios objective-c ios-autolayout

我通过约束(使用视觉格式语言)将一些视图固定在一起,我的应用程序在从左到右的语言中工作正常 但我的观点反映在从右到左的语言中。我可以通过使用以下方法创建约束来解决此问题:

[NSLayoutConstraint constraintWithItem:view1
                             attribute:NSLayoutAttributeRight
                             relatedBy:NSLayoutRelationEqual
                                toItem:view2
                             attribute:NSLayoutAttributeLeft
                            multiplier:1.0
                              constant:0]]

或在storyboard中添加约束,并取消选中Respect Language Direction以获取水平约束。 我提到了this,但这不是我的情况。 我的问题是,在使用VFL(可视格式语言)时,我可以禁用Respect Language Direction吗?我需要一个小例子。

1 个答案:

答案 0 :(得分:0)

使用NSLayoutAttributeLeading代替NSLayoutAttributeLeftNSLayoutAttributeTrailing代替NSLayoutAttributeRight

更新

如果您在使用视觉格式时需要明确更改方向,请注意您可以通过:

/* choose only one of these three */
   NSLayoutFormatDirectionLeadingToTrailing = 0 << 8, // default 
   NSLayoutFormatDirectionLeftToRight = 1 << 8,
   NSLayoutFormatDirectionRightToLeft = 2 << 8

constraintsWithVisualFormat方法。因此这样的事情:

NSLayoutConstraint constraintsWithVisualFormat:@"some constraints"
                options:NSLayoutFormatDirectionLeftToRight//<------
                metrics:nil 
                  views:viewDictionary]];