iOS
Innehållskramning / innehållskomprimering i autolayout
Sök…
Anmärkningar
Innehållskomprimeringsresistensprioritet
Detta värde bestämmer hur resistent en vy är mot att komprimeras eller krympas. Ett högre värde här innebär att vyn kommer att vara mindre benägna att komprimeras och mer sannolikt att förbli densamma.
Innehåll kramar prioritet
Detta värde bestämmer hur resistent en vy är att utökas. Du kan föreställa dig att "krama" här för att betyda "storlek att passa" - gränserna för vyn kommer att "krama" eller vara nära den inneboende innehållsstorleken. Ett högre värde här innebär att utsikten kommer att vara mindre benägna att växa och mer sannolikt att förbli densamma.
Definition: Intrinsic Content Size
Innan Auto Layout var du alltid tvungen att berätta knappar och andra kontroller hur stora de borde vara, antingen genom att ställa in deras ram eller gränsa egenskaper eller genom att ändra storlek på dem i Interface Builder. Men det visar sig att de flesta kontroller perfekt kan bestämma hur mycket utrymme de behöver, baserat på deras innehåll.
En etikett vet hur bred och lång den är eftersom den vet längden på texten som har ställts in på den, liksom teckenstorleken för den texten. Likaså för en knapp , som kan kombinera texten med en bakgrundsbild och lite stoppning.
Detsamma gäller för segmenterade kontroller, framstegsfält och de flesta andra kontroller, även om vissa bara kan ha en förutbestämd höjd men en okänd bredd.
Detta är känt som den inre innehållsstorleken, och det är ett viktigt koncept i Auto Layout. Auto Layout frågar dina kontroller hur stora de behöver vara och lägger ut skärmen baserat på den informationen.
Vanligtvis vill du använda den intrinsic content size
, men det finns vissa fall där du kanske inte vill göra det. Du kan förhindra detta genom att sätta en uttrycklig bredd- eller höjdbegränsning på en kontroll.
Föreställ dig vad som händer när du ställer in en bild på en UIImageView om den bilden är mycket större än skärmen. Du vill vanligtvis ge bildvyer en fast bredd och höjd och skala innehållet, såvida du inte vill att vyn ska ändra storlek till bildens dimensioner.
Referens: https://www.raywenderlich.com/115444/auto-layout-tutorial-in-ios-9-part-2-constraints