Vâng - đây là kỳ lạ ...
Dường như đôi khi UITableViewCellContentView
's contentView
không thẳng hàng với UITableViewCellContentView
riêng của mình. Điều này xảy ra khi UITableView
là một phần của bố cục rộng hơn màn hình (như trong trường hợp máy nhắn tin ngang).
May mắn thay, giải pháp rất đơn giản: thêm ràng buộc để căn chỉnh contentView
với cha mẹ của nó. Điều này chỉ có thể được thực hiện theo chương trình, vì bạn không thể chỉnh sửa các ràng buộc của contentView
trong trình soạn thảo bố cục.
- (void)awakeFromNib {
// Initialization code
// iOS 8.3 bug, where contentView's x position isnt aligned with self's x position...
// So we add a constraint to do the obvious...
[self addConstraint:[NSLayoutConstraint constraintWithItem:self.contentView attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeLeading multiplier:1.0f constant:0.0f]];
}
này chỉ bắt đầu xảy ra trên iOS 8.3, nhưng việc sửa chữa có vẻ là an toàn và tương thích với các phiên bản trước đó lạc hậu là tốt.
Như mọi khi - vui lòng nhận xét bằng kinh nghiệm của riêng bạn.
Tôi đang trải nghiệm điều tương tự .. http://stackoverflow.com/questions/29824830/has-anything-changed-with-custom-uitableview-prototype-cells-constraints-since-i – mm24