Tôi đang làm việc với chế độ xem tùy chỉnh kế thừa từ UIScrollView. Vấn đề tôi đang gặp phải là thêm một UILabel sẽ được hiển thị ở đầu '', ở phía trước của các khung nhìn khác. Nó hoạt động, nhưng tiếc là nó cũng bao gồm các chỉ số cuộn.UIScrollView - Di chuyển chế độ xem về phía trước, nhưng bên dưới chỉ báo cuộn
Như bạn có thể thấy, chỉ số cuộn đang được che khuất. Tôi không muốn tắt các chỉ báo cuộn.
Tôi thêm quan điểm trực tiếp đến UIScrollView:
UILabel *subsection = [[UILabel alloc] initWithFrame:CGRectMake(0, y * h,
[self totalContentWidth], [tableViewDelegate rowHeight])];
[subsection setText:subsectionName];
[subsection setTextAlignment:NSTextAlignmentCenter];
[subSectionRows setValue:subsection forKey:key];
[self addSubview:subsection];
và sau đó đưa họ vào phía trước, mà
- (void) bringSubsectionsToFront {
for (UIView* row in [self.subSectionRows allValues]) {
[self bringSubviewToFront:row];
}
}
Hành vi này là khó hiểu đối với tôi. Nếu tôi nhìn vào số UIView.layer.zPosition
của tất cả các bản xem trước của UIScrollView, tất cả đều giống nhau.
Nếu tôi điều chỉnh phương pháp bringSubsectionsToFront
để thay vì di chuyển nhãn ở phía trước chế độ xem có chứa các đường lưới, hành vi giống nhau.
Nhìn vào một số lớp xem nội có tác phẩm hành vi, nó trông như thể họ đang được bổ sung vào xem di chuyển với: [self insertSubview:cell atIndex:0];
tôi đang thiếu gì ở đây?
Giải pháp: verec nhận xét rằng tôi có thể tìm thấy các thanh nếu tôi thực sự muốn. Vì vậy, tôi đã lặp lại qua danh sách subview tại một điểm thích hợp, và chắc chắn đủ, có họ được. Thứ tự của các vật thể như sau:
CustomCell
...
UIImageView
UIImageView
CustomBorderView
UILabel
UILabel
Giả sử đây là thứ tự z, không có thắc mắc nhãn của tôi luôn ở trên đầu.
Giải pháp trở nên đơn giản; thêm UILabel's sau khi CustomCells. Giải pháp này chỉ hoạt động vì bảng tùy chỉnh thêm CustomCells tại chỉ mục 0, mà tôi tin rằng làm cho các chỉ báo cuộn xuất hiện sau CustomCells. Nếu giả định này giữ, tôi có thể sắp xếp lại các khung nhìn khác liên quan đến CustomCells, đạt được hiệu ứng phân lớp mà tôi muốn.