Bạn có thể đạt được điều này dễ dàng sử dụng hạn chế AutoLayout.
Giả sử bạn có ba quan điểm như thế này:
+-----+
| A |
+-----+
+-----+
| B |
+-----+
+-----+
| C |
+-----+
và bạn muốn chắc xem B biến mất trong một số trường hợp.
Thiết lập hạn chế như sau (đây là những giá trị chỉ là ví dụ):
B top space to A: 4
C top space to B: 4
B height: 20
Sau đó tạo một ổ cắm NSLayoutConstraint trong mã của bạn cho chiều cao của B. Làm điều này bằng cách kéo và thả ràng buộc trong IB.
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *bHeight;
Cuối cùng, để làm cho quan điểm biến mất, chỉ cần làm như sau:
self.bHeight = 0;
Lưu ý rằng nếu bạn đang làm điều này cho một tế bào tableview, bạn có thể có trường hợp bạn muốn B xuất hiện trong một số tế bào, nhưng không phải ở những người khác.
Trong trường hợp này, bạn sẽ phải đặt lại chiều cao thành giá trị "bình thường" cho các ô mà bạn muốn hiển thị ở độ cao.
self.bHeight = 24;
bạn không thể làm điều này trong iOS giống như android, nhưng nếu bạn đang sử dụng UIStackView, bạn có thể – Fonix
Sử dụng UIStackXem công việc của nó? @Fonix –
nếu bạn có bất kỳ mã tham chiếu nào về vấn đề này, vui lòng nhận xét –