Tôi có một subview mà tôi muốn giữ lại các điểm dừng trong màn hình xoay, vì vậy tôi quyết định đưa loại NSLayoutConstraint:
Trailing Space để SuperView
Lên trên Không gian để Superview
Không gian nút để Superview
Tôi đang ở trong một phân lớp của UITableViewCell. Tôi đã viết code nhưng tôi nhận được lỗi sau:
'NSInvalidArgumentException', lý do: 'Không thể phân tích định dạng constraint'
'NSInvalidArgumentException', reason: 'Unable to parse constraint format:
self is not a key in the views dictionary.
H:[self.arrows]-5-|
Mã của tôi trong CustomCell.m là:
self.arrows = [[Arrows alloc]initWithFrame:CGRectMake(self.contentView.bounds.size.width-30, self.bounds.origin.y+4, 30, self.contentView.bounds.size.height-4)];
NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(self.arrows, self.contentView);
NSMutableArray * constraint=[[NSMutableArray alloc]init];
[constraint addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H: [self.arrows]-5-|" options:0 metrics:nil views:viewsDictionary]];
[constraint addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-1-[self.arrows]" options:0 metrics:nil views:viewsDictionary]];
[constraint addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"[V: [self.arrows]-1-|" options:0 metrics:nil views:viewsDictionary]];
[self.arrows addConstraints:constraint];
Thank you very much –
Khá nực cười rằng các tài liệu cung cấp cho ví dụ về sử dụng 'NSDictionaryOfVariableBindings' để tạo từ điển, nhưng không đề cập đến rằng nó sẽ không làm việc với bất kỳ tài sản hoặc IBOutlets –
Jonathan, tôi khá bối rối vì điều này. Các tài liệu cụ thể nhà nước để sử dụng phương pháp đó. Tôi chỉ đoán nó đủ thông minh để loại bỏ cái tôi. một phần của khóa tự động. – Nailer