Có thể phân phối đều không gian trái và phải cho b
trong @"|-[a(5)]-[b(8)]-[c(5)]-|"
bằng chuỗi định dạng trực quan không?Phân phối khoảng cách bằng cách sử dụng chuỗi định dạng hình ảnh Bố cục tự động
Trả lời
No.
Tuy nhiên, bạn có thể làm điều đó với định dạng trực quan và tạo ràng buộc thủ công. Thay đổi chuỗi VFL của bạn thành:
@"|-[a(5)]->=0-[b(8)]->=0-[c(5)]-|"
Điều này nói rằng bạn không quá quan tâm đến kích thước thực tế của khoảng cách giữa a và b, và b và c.
Bây giờ, hãy tạo một ràng buộc ghim trung tâm của b vào giữa của người giám sát bằng cách sử dụng constraintWithItem:...
(Tôi đang nhập số này trên điện thoại để tha thứ cho tôi vì không viết chính tả toàn bộ phương thức).
Điều này, cùng với khoảng cách linh hoạt của bạn, sẽ cung cấp cả khoảng trống ở bên trái và bên phải của b.
Âm thanh này tuyệt quá. Tôi sẽ cho nó một shot. Cảm ơn! – flohei
Hoạt động rất tốt. Quá dễ. Cảm ơn! :-) – flohei
Làm thế nào chính xác bạn đã "ghim trung tâm của b đến trung tâm của người giám sát", @flohei? Và không thể sử dụng định dạng trực quan cho điều đó hay phải sử dụng định nghĩa 'constraintWithItem: attribute: relatedBy: toItem: attribute: multiplier: constant:'? –
Apple Auto Layout Guide đề xuất sử dụng "chế độ xem spacer". Đây là giải pháp cho đẻ ra ba quan điểm của bạn với khoảng cách bằng chiều ngang:
// create views dictionary
NSMutableDictionary *viewsDictionary = [NSMutableDictionary dictionary];
[viewsDictionary addEntriesFromDictionary:NSDictionaryOfVariableBindings(viewA, viewB, viewC)];
// create 4 spacer views
for (int i = 0; i < 4; i++) {
UIView *spacerView = [[UIView alloc] init];
spacerView.hidden = YES;
[self addSubview:spacerView];
[viewsDictionary setObject:spacerView
forKey:[NSString stringWithFormat:@"spacer%d", i + 1]];
}
// disable translatesAutoresizingMaskIntoConstraints in views for auto layout
[viewsDictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop)
{
[obj setTranslatesAutoresizingMaskIntoConstraints:NO];
}];
// add constraints
[superview addConstraints:
[NSLayoutConstraint constraintsWithVisualFormat:
@"|[spacer1(>=0)][viewA][spacer2(==spacer1)][viewB][spacer3(==spacer1)][viewC][spacer4(==spacer1)]|"
options:kNilOptions
metrics:nil
views:viewsDictionary]];
Lưu ý rằng chiều rộng spacer1
's được thiết lập để có nhiều hơn 0. xem spacer sau đó được thiết lập để có độ rộng bình đẳng với spacer1
.
Có lý do nào khiến bạn không chỉ đơn giản là viết các quan điểm 'NSDictionary * = NSDictionaryOfVariableBindings (xemA, viewB, viewC);'? –
Tôi đã chỉnh sửa câu trả lời của mình để sử dụng nhiều đối số trong NSDictionaryOfVariableBindings. Tôi đang sử dụng từ điển có thể thay đổi để tôi có thể thêm số lần xem spacer của mình vào đó một cách linh hoạt. –
Ồ, đúng vậy.^___^'NSMutableDictionary * views = NSDictionaryOfVariableBindings (xemA, viewB, viewC) .mutableCopy;' sau đó. –
- 1. Sử dụng Bố cục Tự động để thay đổi không gian bằng cách đổi kích thước
- 2. Bố cục tự động bằng initWithFrame?
- 3. Làm cách nào để giữ định dạng khoảng trắng bằng cách sử dụng PHP/HTML?
- 4. Chỉnh sửa kích thước hình ảnh tự động trong bố cục dòng CSS để mô phỏng bố cục bảng html
- 5. Cách thay đổi kích thước chế độ xem bằng bố cục tự động của Xcode
- 6. Cách định dạng số dấu phẩy động vào một chuỗi bằng cách sử dụng Go
- 7. Android - Cách tự động thay đổi bố cục đoạn
- 8. Văn bản nhãn không được tự động thay đổi kích thước bằng cách sử dụng Bố cục tự động
- 9. Bố cục biểu mẫu bằng cách sử dụng CSS
- 10. Phân tích bố cục trang bằng Tesseract?
- 11. Làm cách nào để đặt khoảng cách chuẩn giữa UIViews bằng mã với bố cục tự động?
- 12. Tự động phục vụ một hình ảnh matplotlib lên web bằng cách sử dụng python
- 13. Tìm định dạng hình ảnh bằng cách sử dụng đối tượng Bitmap trong C#
- 14. Bố cục tự động UILabels
- 15. Cắt hình ảnh không gian trắng tự động bằng cách sử dụng jQuery
- 16. Cách tự động thay đổi mẫu hình ảnh trong SVG bằng cách sử dụng Javascript
- 17. Bố cục Android và thay đổi kích thước hình ảnh tự động
- 18. Thay đổi Panels bằng cách sử dụng Bố cục thẻ
- 19. Cách cuộn UIScrollView khi tải khi sử dụng bố cục tự động
- 20. Định vị một hình ảnh bên ngoài bố cục
- 21. cách tạo phân phối gaussian bằng cách sử dụng hàm mysql do người dùng định nghĩa
- 22. Cách tìm hình ảnh trong hình ảnh khác bằng cách sử dụng python
- 23. Phân tích chuỗi trong các định dạng tùy chỉnh bằng cách sử dụng TypeConverter.ConvertFromString()
- 24. định dạng chuỗi động bằng cách sử dụng string.format và Danh sách <T> .Count()
- 25. Android: Cách tự động bao gồm Bố cục XML?
- 26. Cách sử dụng bố cục XML làm hình ảnh có thể draw
- 27. Cách kết hợp các ràng buộc Bố cục tự động với thuộc tính contentMode của UIView
- 28. Xác định khoảng cách bằng cách sử dụng mapkit
- 29. Cách tự động đặt thông số bố cục trong Android?
- 30. Cách mở rộng chiều cao bố cục bằng hoạt ảnh?
VERY GOOD SO bài viết liên quan đến câu hỏi này [ở đây] (http://stackoverflow.com/questions/13075415/evenly-space-multiple-views-within-a-container-view/25898949#25898949) –