मुझे systemLayoutSizeFittingSize:
विधि का एक अलग व्यवहार मिला, तो मुझे उम्मीद थी।systemLayoutSizeFittingSize: UILabel पर अपेक्षित व्यवहार की तरह व्यवहार नहीं कर रहा
import UIKit
import Foundation
var label = UILabel()
label.text = "This is a Test Label Text"
label.numberOfLines = 0
label.font = UIFont.preferredFontForTextStyle(UIFontTextStyleBody)
label.preferredMaxLayoutWidth = 40
let layoutSize = label.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize)
let intrinsicSize = label.intrinsicContentSize()
मैं उम्मीद है कि layoutSize
और intrinsicSize
ही कर रहे हैं:
यहाँ एक तेज खेल का मैदान है जो व्यवहार लेकिन ऑब्जेक्टिव-सी में अपने ही दर्शाता है के लिए कतरना एक कोड है।
लेकिन इस मामले layoutSize
(w 173, h 20)
है में और intrinsicSize
(w 40, h 104)
मैं दोनों intrinsicSize
होने की अपेक्षा करेंगे है लेकिन यह systemLayoutSizeFittingSize:
पर ध्यान नहीं देता preferredMaxLayoutWidth
है किसी ने मुझे इसकी व्याख्या करने में सक्षम है?
संपादित करें: इसके अलावा
label.setNeedsLayout()
label.layoutIfNeeded()
let layoutSize = label.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize)
let intrinsicSize = label.intrinsicContentSize()
परिणाम