У меня есть настраиваемый UITableViewCell, и я пытаюсь Автокомпоновка в UILabel, потому что его текст может иметь любую длину, но я получаю эту ошибку:IOS, NSLayoutConstraint Выпуск
Break on objc_exception_throw to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
2014-09-14 10:20:37.693 InstantForum[29658:60b] 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:0x9aea2e0 V:|-(45)-[UILabel:0x9ae9f30] (Names: '|':UITableViewCellContentView:0x9ae9250)>",
"<NSLayoutConstraint:0x9aea330 V:[UILabel:0x9ae9f30(>=10)]>",
"<NSLayoutConstraint:0x9aea380 V:[UILabel:0x9ae9f30]-(NSSpace(20))-| (Names: '|':UITableViewCellContentView:0x9ae9250)>",
"<NSAutoresizingMaskLayoutConstraint:0x8c8a750 h=--& v=--& V:[UITableViewCellContentView:0x9ae9250(44)]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x9aea380 V:[UILabel:0x9ae9f30]-(NSSpace(20))-| (Names: '|':UITableViewCellContentView:0x9ae9250)>
Break on objc_exception_throw to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful
Это код в моей UITableViewCell , это где я установки на подвиды в клетке:
-(void)setupView:(PostInfo*)postInfo{
CGRect screenRect = [[UIScreen mainScreen] bounds];
viewPostMessage = [[UIView alloc] initWithFrame:CGRectMake(10, 10, screenRect.size.width - 20, 100)];
viewPostMessage.backgroundColor = [UIColor colorWithRed:193.0f/255 green:193.0f/255 blue:193.0f/255 alpha:1.0f];
viewPostMessage.layer.borderColor = [UIColor blackColor].CGColor;
viewPostMessage.layer.borderWidth = 0.5f;
dispatch_queue_t concurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
// 3) Load picker in background
userImage = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 30, 30)];
[self.contentView addSubview:userImage];
if(postInfo.userImage.length > 0){
__block UIImage *imageUser;
dispatch_async(concurrentQueue, ^{
imageUser = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString: [NSString stringWithFormat:@"http://www.hugt.co.uk/userimage/%d/userImage.jpg", postInfo.userId]]]];
dispatch_async(dispatch_get_main_queue(), ^{
userImage.image = imageUser;
});
});
}else{
UIView *viewImage = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 30, 30)];
viewImage.backgroundColor = [UIColor colorWithRed:132.0f/255 green:132.0f/255 blue:132.0f/255 alpha:1.0f];
[self.contentView addSubview:viewImage];
userImage = [[UIImageView alloc] initWithFrame:CGRectMake(5, 5, 20, 20)];
UIImage *imageUser = [UIImage imageNamed:@"defaultuser.jpg"];
userImage.image = imageUser;
[viewImage addSubview:userImage];
}
labelUserName = [[UILabel alloc] initWithFrame:CGRectMake(50, 8, 200, 16)];
labelUserName.textColor = [UIColor colorWithRed:56.0f/255 green:56.0f/255 blue:57.0f/255 alpha:1.0f];
labelUserName.text = [NSString stringWithFormat:@"%@ %@ posted...", postInfo.firstName,postInfo.lastName];
//labelFirstName.textAlignment = NSTextAlignmentCenter;
labelUserName.font = [UIFont fontWithName:@"Helvetica" size:12];
labelUserName.userInteractionEnabled = YES;
[self.contentView addSubview:labelUserName];
labelCreated = [[UILabel alloc] initWithFrame:CGRectMake(50, 24, 200, 16)];
labelCreated.textColor = [UIColor colorWithRed:86.0f/255 green:152.0f/255 blue:179.0f/255 alpha:1.0f];
labelCreated.text = [NSDateFormatter localizedStringFromDate:postInfo.timeStampCreated dateStyle:NSDateFormatterMediumStyle timeStyle:NSDateFormatterMediumStyle];
labelCreated.text = [labelCreated.text stringByReplacingOccurrencesOfString:@"AM" withString:@""];
labelCreated.text = [labelCreated.text stringByReplacingOccurrencesOfString:@"PM" withString:@""];
//labelFirstName.textAlignment = NSTextAlignmentCenter;
labelCreated.font = [UIFont fontWithName:@"Helvetica" size:12];
labelCreated.userInteractionEnabled = YES;
[self.contentView addSubview:labelCreated];
labelMessage = [[UILabel alloc] initWithFrame:CGRectMake(50, 43, 210, 9999)];
labelMessage.textColor = [UIColor colorWithRed:141.0f/255 green:142.0f/255 blue:142.0f/255 alpha:1.0f];
labelMessage.text = postInfo.message;
//labelMessage.numberOfLines = 0;
//labelFirstName.textAlignment = NSTextAlignmentCenter;
labelMessage.font = [UIFont fontWithName:@"Helvetica" size:12];
labelMessage.userInteractionEnabled = YES;
labelMessage.lineBreakMode = NSLineBreakByWordWrapping;
labelMessage.translatesAutoresizingMaskIntoConstraints = NO;
[labelMessage sizeToFit];
[self.contentView addSubview:labelMessage];
//NSDictionary *views = NSDictionaryOfVariableBindings(labelMessage);
//labelMessage.translatesAutoresizingMaskIntoConstraints = NO;
[self.contentView addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"V:|-45-[labelMessage(>=10)]-|"
options:NSLayoutFormatDirectionLeadingToTrailing
metrics:nil
views:NSDictionaryOfVariableBindings(userImage,labelUserName,labelCreated,labelMessage)]];
[self.contentView addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"H:|-10-[labelMessage(==210)]-|"
options:NSLayoutFormatDirectionLeadingToTrailing
metrics:nil
views:NSDictionaryOfVariableBindings(userImage,labelUserName,labelCreated,labelMessage)]];
//self.contentView.translatesAutoresizingMaskIntoConstraints = NO;
//self.clipsToBounds = YES;
//[self.contentView addSubview:viewPostMessage];
}