2013-06-26 1 views
1

Я пытаюсь использовать язык визуального форматирования для добавления простого ограничения в подкласс UICollectionViewCell. Я просто хочу, чтобы UILabel был привязан к нижней части contentView. Вот мой код инициализации:Ограничение автоопределения для вывода UILabel на кнопку UICollectionViewCell contentView

- (id)initWithFrame:(CGRect)frame { 
    self = [super initWithFrame:frame]; 
    if(self) { 
     _label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 128, 50)]; 
     _label.font = [[UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline1] fontWithSize:20.0]; 
     _label.lineBreakMode = NSLineBreakByWordWrapping; 
     _label.numberOfLines = 2; 
     _label.contentMode = UIViewContentModeBottom; 
     _label.backgroundColor = [UIColor blackColor]; 
     [self.contentView addSubview:_label]; 
     [self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[_label]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_label)]]; 
    } 
    return self; 
} 

Вот пример сообщения журнала, который я получаю при запуске приложения.

Unable to simultaneously satisfy constraints. 
Unable to simultaneously satisfy constraints. 
    Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 
(
    "<NSLayoutConstraint:0xa3aa620 V:[UILabel:0xa3aa270]-(0)-| (Names: '|':UIView:0xa3aa010)>", 
    "<NSAutoresizingMaskLayoutConstraint:0x8b9b2d0 h=--& v=--& UILabel:0xa3aa270.midY == + 25>", 
    "<NSAutoresizingMaskLayoutConstraint:0x8b9bba0 h=--& v=--& V:[UILabel:0xa3aa270(50)]>", 
    "<NSAutoresizingMaskLayoutConstraint:0x8bd1290 h=-&- v=-&- UIView:0xa3aa010.height == STStationGroupCollectionViewCell:0xa3a9f40.height>", 
    "<NSAutoresizingMaskLayoutConstraint:0x8bb7ee0 h=--& v=--& V:[STStationGroupCollectionViewCell:0xa3a9f40(128)]>" 
) 

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0xa3aa620 V:[UILabel:0xa3aa270]-(0)-| (Names: '|':UIView:0xa3aa010)> 

Любая помощь с благодарностью. Благодаря!

ответ

2

Попробуйте добавить:

_label.translatesAutoresizingMaskIntoConstraints = NO; 

Там, как представляется, AUTORESIZE ограничение, пытаясь исправить midY этикетки.

 Смежные вопросы

  • Нет связанных вопросов^_^