我通过约束(使用视觉格式语言)将一些视图固定在一起,我的应用程序在从左到右的语言中工作正常 但我的观点反映在从右到左的语言中。我可以通过使用以下方法创建约束来解决此问题:
[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吗?我需要一个小例子。
答案 0 :(得分:0)
使用NSLayoutAttributeLeading
代替NSLayoutAttributeLeft
和NSLayoutAttributeTrailing
代替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]];