Frage

Ich erstelle einen horizontalen Picker, indem ich a verwende UICollectionView.Es ist ganz einfach:A UIView mit einem UICollectionView programmgesteuert erstellt, mit UICollectionViewFlowLayout mit einem Abschnitt, Scrollen auf horizontal eingestellt.Es erscheint auf dem Bildschirm, komplett mit den richtigen Daten in den richtigen Zellen.Aber es scrollt nicht – tatsächlich reagiert es überhaupt nicht auf Benutzerinteraktionen.

Hier ist der Initialisierer für die Ansicht:

- (id)initWithFrame:(CGRect)frame andItemData:(NSArray *)itemData
{
    self = [super initWithFrame:frame];
    if (self) {
        _itemData = itemData;

        UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
        [flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
        [flowLayout setItemSize:CGSizeMake(kCellWidth, kCellHeight)];
        [flowLayout setMinimumInteritemSpacing:0.f];
        [flowLayout setMinimumLineSpacing:0.f];

        _collectionView = [[UICollectionView alloc] initWithFrame:[self frame] collectionViewLayout:flowLayout];
        [_collectionView setDataSource:self];
        [_collectionView setDelegate:self];
        [_collectionView setBounces:NO];
        [_collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"HorizontalPickerCell"];
        [self addSubview:_collectionView];
    }
    return self;
}

Ich habe versucht, die Einstellung programmgesteuert vorzunehmen UserInteractionEnabled Zu YES, aber das machte keinen Unterschied (und sollte es auch nicht sein, seitdem UserInteractionEnabled ist eingestellt auf YES standardmäßig).FWIW, die Sammlungsansicht verwendet Standard UICollectionViewCells mit UILabels hinzugefügt contentViews als Unteransichten.

Irgendeine Idee, warum das nicht scrollt?Jede Hilfe wird sehr geschätzt.

War es hilfreich?

Lösung

Ok, es stellte sich heraus, dass das von meiner Seite sowohl dumm als auch leicht zu beheben war.Ich habe den Rahmen der Sammlungsansicht auf den seiner übergeordneten Ansicht festgelegt frame eher als es bounds.Dies verursachte alle möglichen Probleme mit dem automatischen Layout und führte dazu, dass Berührungsereignisse einfach nicht registriert wurden.Jetzt ist alles behoben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top