我創建了一個的UIView,然後添加錨點限制,但我有一個問題,當我想讀值...讀CGFloat的從Anchor約束
在這種情況下,你看到的,我創建了一個NSLayoutConstraint屬性得到我的uiview的錨寬度...然後我創建了一個包含約束的CGFloat,但是我的NSLog總是返回一個ZERO值。
我在哪裏錯了?我怎樣才能得到我的UIView分配給錨點的寬度值?
UIView *trackLine = [[UIView alloc] init];
trackLine.backgroundColor = [self trackLineColor];
trackLine.translatesAutoresizingMaskIntoConstraints = NO;
[self addSubview:trackLine];
[trackLine.topAnchor constraintEqualToAnchor:mediaTitle.bottomAnchor constant:25].active = YES;
[trackLine.rightAnchor constraintEqualToAnchor:self.rightAnchor].active = YES;
[trackLine.heightAnchor constraintEqualToConstant:1].active = YES;
self.width = [trackLine.widthAnchor constraintEqualToAnchor:self.widthAnchor multiplier:.8];
self.width.active = YES;
CGFloat trackLineLenght = self.width.constant;
NSLog(@"TRACK LINE %f", trackLineLenght);
的NSLog結果:
**2017-10-21 17:10:35.096562+0200 [5501:1994879] TRACK LINE 0.000000**
什麼是'self.widthAnchor'在該點的價值? 「自我」可能不具有固有尺寸,其框架尚未設置? – DonMag
@DonMag用幾句話我試圖使用uiview而不是CALayer來學習本教程,但我仍然得到錯誤的值,我不知道爲什麼https://www.raywenderlich.com/36288/how-to-make-一個自定義控件 – kAiN
好吧......所以......就像我在第一個評論中提到的那樣...... *那個點上的'self.widthAnchor'的值是多少?* – DonMag