1
我想知道是否有可能獲得通過使用視覺格式語言創建的約束的指針。指向視覺格式語言(VFL)約束的指針?
對於一個簡單的例子,假設我已經爲一個視圖創建了一個約束數組,它被固定到它的超級視圖的頂部,左側和底部,但寬度爲100,我想獲得一個指向此寬度約束的指針,以稍後以編程方式進行更改。
的VFL因爲那是沿着線的東西:
UIView *insertedView = [[UIView alloc] init];
insertedView.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addSubview: insertedView];
NSDictionary *views = NSDictionaryOfVariableBindings(insertedView);
NSDictionary *metrics = @{ @"viewWidth" : @(100.0) };
NSArray *constraintsH = [NSLayoutConstraint constraintsWithVisualFormat:@"|[insertedView(viewWidth)" options:0 metrics:metrics views:views];
NSArray *constraintsV = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[insertedView]|" options:0 metrics:nil views:views];
[self.view addConstraints: constraintsH];
[self.view addConstraints: constraintsV];
是否有可能獲得NSLayoutConstraint在上面的例子中指向的100.0寬度約束的實例?
我知道我可以通過另一種方式,通過constraintWithItem分別創建寬度約束:attribute:relatedBy:toItem:attribute:multiplier:constant,但我很好奇是否有一種方法可以做到這一點純VFL。要做到這一點
真棒,在我所有的時間開發iOS應用程序我從來沒有在NSArrays上遇到這種方法,很酷的東西。謝謝。 – 2015-02-10 18:09:34
我想知道是否有一種方法可以用VFL設置約束的標識符屬性。這可能是使用您的方法來獲取問題約束的最快方法。 – 2015-02-10 18:17:51
同意。我原本希望找到一種方法來做到這一點,因爲我認爲它是最直接的,但我從文檔中看不到它是如何完成的。 – akivajgordon 2015-02-10 18:19:59