Ich versuche, die Höhe der Abschnitt Header für eine UICollectionView
dynamisch, aber mit dem Code unten, sehe ich nichts zu ändern. Die Ansicht ist mit den richtigen Elementen darin gezeichnet, aber die Höhe wird nicht nachgeben. Entschuldigung, wenn das eine wiederholte Frage ist, aber ich kann anscheinend nichts finden, das spezifisch mit dem UICollectionView
Gegenstand zusammenhängt. Danke im Voraus.Ändern Sie die Höhe einer UICollectionReuseableView (Sammlungsabschnitt Header) dynamisch
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView
viewForSupplementaryElementOfKind:(NSString *)kind
atIndexPath:(NSIndexPath *)indexPath
{
PhotoVideoHeaderCell *headerView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader
withReuseIdentifier:@"videoHeaderView"
forIndexPath:indexPath];
if (indexPath.section == 0) {
// photos
[headerView setSection:@"Photo"];
} else {
[headerView.VehicleDetailView removeFromSuperview];
CGRect frame = headerView.frame;
frame.size.height = 60;
[headerView setFrame:frame];
[headerView setNeedsDisplay];
[headerView setBackgroundColor:[UIColor grayColor]];
[headerView setSection:@"Video"];
}
return headerView;
}
dies funktioniert, aber wie kann ich feststellen, welcher Abschnitt i Bearbeitung bin ich es bei Index 1 – DirtyKalb
Verwenden Abschnitt nur tun wollen, dass die 'section' Parameter in der Methode. Speichern Sie den Abschnitt, den Sie gerade bearbeiten, und vergleichen Sie sie. Wenn sie nicht identisch sind, geben Sie 'headerReferenceSize' des Layouts zurück. –
Es tut uns leid, hier ein komplettes noob zu sein, aber die headerReferenceSize ist nicht Teil des collectionViewLayout ... Muss ich eine Instanz des Headers erstellen, um den Frame zu lesen? – DirtyKalb