Có ai có thể dạy tôi cách hiển thị đối tượng UISegmentedControl theo hướng thẳng đứng, thay vì theo chiều ngang không?Tôi có thể hiển thị đối tượng UISegmentedControl theo chiều dọc không?
Trả lời
+1 cho câu trả lời của Ben, mặc dù xoay điều khiển phân đoạn cũng xoay văn bản bên trong. Không bao giờ sợ! Chúng tôi chỉ phải xoay nhãn bên trong, như vậy:
NSArray *arr = [segmentedControl subviews];
for (int i = 0; i < [arr count]; i++) {
UIView *v = (UIView*) [arr objectAtIndex:i];
NSArray *subarr = [v subviews];
for (int j = 0; j < [subarr count]; j++) {
if ([[subarr objectAtIndex:j] isKindOfClass:[UILabel class]]) {
UILabel *l = (UILabel*) [subarr objectAtIndex:j];
l.transform = CGAffineTransformMakeRotation(- M_PI/2.0); //do the reverse of what Ben did
}
}
}
Swift 2 phiên bản:
for view in segmentedControl.subviews {
for subview in view.subviews {
if subview.isKindOfClass(UILabel) {
subview.transform = CGAffineTransformMakeRotation(CGFloat(-M_PI/2.0))
}
}
}
Điều khiển này chỉ nằm ngang. Từ các tài liệu UISegementedControl:
Một UISegmentedControl đối tượng là một kiểm soát ngang được tạo bởi nhiều phân đoạn, mỗi đoạn có chức năng như một nút rời rạc. Điều khiển phân đoạn dành cho một phương tiện nhỏ gọn để nhóm cùng với một số điều khiển.
Bạn sẽ phải thực hiện điều này dưới dạng điều khiển tùy chỉnh.
Bạn luôn có thể sửa đổi biến đổi trên điều khiển được phân đoạn.
segmentedControl.transform = CGAffineTransformMakeRotation (M_PI/2.0);
+1 để trả lời câu hỏi :). Tôi tự hỏi về khả năng sử dụng của một điều khiển xoay phân đoạn. – RedBlueThing
Vâng, tôi đã không đi qua phán quyết về việc đó là một ý tưởng tốt hay không ;-) –
@ ben-gottlieb Một chất lượng đáng ngưỡng mộ :) – RedBlueThing
Tôi tìm thấy điều khiển dưới đây trong điều khiển cacao mà có vẻ tốt đẹp. Nó là một điều khiển tùy chỉnh và trông giống như một lớp con của UIControl.
Nhưng nếu bạn hỏi tôi, tôi có thể thử một cách tiếp cận khác nhau, tôi sẽ tạo ra một tabelview có chiều rộng cột (44px) và giữ nó như một đứa trẻ trong các thùng chứa và có thể sắp xếp nó vào một góc của vùng chứa, tùy chỉnh các ô và có danh sách của tôi trên đó và nhấn vào mỗi hàng, tải nội dung tương ứng trong chế độ xem chi tiết trong nội dung xem của bạn. Không thử nó, sẽ cố gắng và gửi kết quả sớm.
- 1. Vẽ bảng theo chiều dọc hiển thị thay vì hiển thị ngang
- 2. Jquery-ui có thể kéo dọc theo chiều dọc chỉ
- 3. Có thể hiển thị barcharts theo chiều ngang trong Flot không?
- 4. LinearLayout - Theo chiều dọc không căn chỉnh
- 5. Cách tạo bảng html theo chiều dọc có thể cuộn
- 6. cách làm cho uniformgrid theo chiều dọc
- 7. Làm cách nào để hiển thị văn bản theo chiều dọc trong JLabel? (Java 1.6)
- 8. hiển thị tất cả các ô văn bản theo chiều dọc trong datagridview
- 9. Hiển thị bảng ngang theo chiều dọc trong một Datagrid-WPF
- 10. Làm thế nào để hiển thị văn bản theo chiều dọc trên một nút trong JavaFX?
- 11. Div theo chiều ngang và giữa theo chiều dọc
- 12. UIView lật theo chiều dọc
- 13. Tab tệp theo chiều dọc trong netbeans
- 14. đối tượng 3D không được hiển thị
- 15. Làm cách nào tôi có thể lập trình căn chỉnh theo chiều dọc của UIButton - iOS
- 16. SSRS kết quả hiển thị dữ liệu theo chiều ngang
- 17. Làm cách nào để căn chỉnh đối tượng theo chiều dọc trong ASP.NET?
- 18. Làm cách nào để tạo ngăn xếp div theo chiều dọc đầu tiên theo chiều dọc?
- 19. Làm thế nào để làm cho hàng hiển thị MatrixForm theo chiều ngang dưới dạng vectơ hàng thực và không theo chiều dọc dưới dạng vectơ cột?
- 20. Có các trang cuộn theo chiều dọc trong ViewPager
- 21. iOS - Kéo đối tượng dọc theo các đường cong
- 22. Làm thế nào tôi có thể căn giữa một khối theo chiều dọc và chiều ngang với Bootstrap?
- 23. TableLayoutPanel hiển thị cuộn dọc
- 24. Làm cách nào để tạo Thẻ Div có thể cuộn theo chiều dọc?
- 25. Định vị các phần tử div theo chiều ngang, không theo chiều dọc
- 26. Thanh tác vụ Android có thể được đặt theo chiều dọc không?
- 27. FlowLayoutPanel AutoSize chỉ theo chiều dọc?
- 28. nlmer dữ liệu theo chiều dọc
- 29. Có thể tràn dòng văn bản theo chiều dọc với css3 không?
- 30. Tôi có thể hiển thị GUID trong windbg không?
Điều này hoạt động tốt cho các nhãn, nhưng nếu điều khiển của bạn có hình ảnh thay thế, nó không hoạt động. Trong trường hợp đó, tôi sẽ làm theo đề nghị của Ben, và sau đó chỉ cần xoay các hình ảnh trong công cụ xem trước OSX (hoặc Photoshop) thay vì cố gắng xoay UIImageView trong mã của bạn. –
Mã này dựa vào việc triển khai nội bộ (không có giấy tờ) của UISegmentedControl. Nó là dễ bị thất bại bất cứ khi nào Apple thay đổi việc thực hiện kiểm soát này. Ngay cả một thay đổi đơn giản như việc chèn thêm một lớp khung nhìn giữa các cá thể UILabel mà bạn đang tìm kiếm và cấp cao nhất sẽ phá vỡ mã này. – Arda
@Arda Nó có thể bị hỏng, nhưng nó sẽ mất khoảng 10 phút để phát minh ra bộ điều khiển phân đoạn của riêng bạn đã làm điều tương tự nếu đó là trường hợp, do đó, làm điều đó và tận hưởng nó. Nhiều hơn khả năng, bạn sẽ luôn luôn có thể tìm thấy một cách để làm điều này nếu một cái gì đó được thay đổi dù sao đi nữa. – Sethmr