trovato una soluzione qui ScrollView ContentSize, si sarà in grado di trovare le dimensioni delle subviews e trovare la dimensione dei contenuti combinato e anche le opzioni di dire se subviews sono disposti orizzontalmente o verticalmente.
ecco il codice dal link qui sopra:
@interface UIScrollView(auto_size)
- (void) adjustHeightForCurrentSubviews: (int) verticalPadding;
- (void) adjustWidthForCurrentSubviews: (int) horizontalPadding;
- (void) adjustWidth: (bool) changeWidth andHeight: (bool) changeHeight withHorizontalPadding: (int) horizontalPadding andVerticalPadding: (int) verticalPadding;
@end
@implementation UIScrollView(auto_size)
- (void) adjustWidth: (bool) changeWidth andHeight: (bool) changeHeight withHorizontalPadding: (int) horizontalPadding andVerticalPadding: (int) verticalPadding {
float contentWidth = horizontalPadding;
float contentHeight = verticalPadding;
for (UIView* subview in self.subviews) {
[subview sizeToFit];
contentWidth += subview.frame.size.width;
contentHeight += subview.frame.size.height;
}
contentWidth = changeWidth ? contentWidth : self.superview.frame.size.width;
contentHeight = changeHeight ? contentHeight : self.superview.frame.size.height;
NSLog(@"Adjusting ScrollView size to %fx%f, verticalPadding=%d, horizontalPadding=%d", contentWidth, contentHeight, verticalPadding, horizontalPadding);
self.contentSize = CGSizeMake(contentWidth, contentHeight);
}
- (void) adjustHeightForCurrentSubviews: (int) verticalPadding {
[self adjustWidth:NO andHeight:YES withHorizontalPadding:0 andVerticalPadding:verticalPadding];
}
- (void) adjustWidthForCurrentSubviews: (int) horizontalPadding {
[self adjustWidth:YES andHeight:NO withHorizontalPadding:horizontalPadding andVerticalPadding:0];
}
@end
assicurarsi di avere uno sguardo ai commenti sulla pagina blog come è fornita una soluzione alternativa anche.
-anoop
Iniziare una taglia su questo. Al momento, la risposta migliore che ho è quella di scorrere le sottoview e guardare i loro frame. Mi chiedo se c'è un modo migliore. SizeThatFits: non sembra aiutare. –
Prova a sovrascrivere sizeThatFits: per eseguire il calcolo desiderato. – titaniumdecoy
[estensione Swift] (http://stackoverflow.com/a/36504526/1634890) –