Ich fand ein anderes Verhalten der systemLayoutSizeFittingSize:
Methode dann habe ich erwartet. HiersystemLayoutSizeFittingSize: auf UILabel verhält sich nicht wie erwartet
ist ein Code für einen schnellen Spielplatz snipped, die das Verhalten aber sein das gleiche in Objective-C zeigt:
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()
ich erwartet hätte, dass layoutSize
und intrinsicSize
gleich sind.
aber in diesem Fall layoutSize
ist (w 173, h 20)
und intrinsicSize
ist (w 40, h 104)
Ich würde beide erwarten, dass die intrinsicSize
sein, aber es scheint systemLayoutSizeFittingSize:
die es mir zu erklären preferredMaxLayoutWidth
Ist jemand in der Lage ignoriert?
Edit: Auch
label.setNeedsLayout()
label.layoutIfNeeded()
let layoutSize = label.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize)
let intrinsicSize = label.intrinsicContentSize()
nicht die Ergebnisse ändern