Итак, я использую проект, который я нашел на Github - , - и пытаюсь получить на нем ручку.NSLayoutConstraint, sub-просмотр UIView в ячейке просмотра таблицы не работает
По существу, то, что я хочу сделать, это создать плавучую иллюзию «Карт», которую приложение, подобное Facebook, имеет. То, как я это делал в прошлом, заключается в создании subview UIView, округлении углов и т. Д., Прежде чем помещать метку названия, имя автора внутри этого представления. Проблема в том, что я, как правило, делал это с раскадровки, в то время как этот пример программно выкладывает вещи.
После того, как он занялся этим, я подумал, что понял это. Это, как я создал - метод (пустоты) updateConstraints:
(недействительные) updateConstraints { если (self.constraintsUpdated!) {
self.contentView.bounds = CGRectMake(0.0f, 0.0f, CGRectGetWidth(self.frame), CBPLargePostPreviewTableViewCellHeight); NSDictionary *views = @{@"postCommentLabel": self.postCommentLabel, @"postDateLabel": self.postDateLabel, @"postImageView": self.postImageView, @"postTitleLabel": self.postTitleLabel, @"roundedBackground": self.roundedBackground}; NSDictionary *metrics = @{@"padding": @(CBPPadding)}; [self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(4)-[roundedBackground]-(4)-|" options:0 metrics:metrics views:views]]; [self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(4)-[roundedBackground]-(4)-|" options:0 metrics:metrics views:views]]; [self.roundedBackground addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(5)-[postTitleLabel]-(5)-[postImageView(150)]-(5)-[postDateLabel]-(5)-|" options:0 metrics:nil views:views]]; [self.roundedBackground addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(padding)-[postTitleLabel]-(padding)-|" options:0 metrics:metrics views:views]]; [self.roundedBackground addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(padding)-[postImageView]-(padding)-|" options:0 metrics:metrics views:views]]; [self.roundedBackground addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(padding)-[postDateLabel]-(>=0)-[postCommentLabel]-(padding)-|" options:0 metrics:metrics views:views]]; [self.roundedBackground addConstraint:[NSLayoutConstraint constraintWithItem:self.postCommentLabel attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self.postDateLabel attribute:NSLayoutAttributeCenterY multiplier:1.0f constant:0]]; self.constraintsUpdated = YES; } [super updateConstraints]; }
Но при работающей I получить эту ошибку: [__NSPlaceholderDictionary initWithObjects: forKeys: count:]: попытка вставить нулевой объект из объектов [4] '
Я попытался создать границы для просмотра, но безрезультатно. Есть ли у кого-нибудь предложения? Если есть лучший подход к созданию эффекта, который я ищу, я также открыт для этого.
Извините, что (я изменил код, когда копирую/вставляю его, не очень хорошая идея). Тем не менее, даже когда это правильно, я все еще получаю ошибку, которую я описал. – schmorgledorf