Tôi đang tạo một lớp con UIControl và có lập trình đặt mọi thứ trong đó. Bây giờ tôi đã có nó tạo nên tôi cần phải đặt nó nhiều lần trên màn hình khác nhau. Tôi biết bạn không thể tạo một plugin IB cho iOS, nhưng không có cách nào để lấy UIView trong IB và kích thước/đặt nó ở vị trí kiểm soát của tôi, và sau đó đặt thuộc tính Lớp tùy chỉnh là lớp con UIControl của tôi ? Tôi biết tôi sẽ không nhìn thấy nó cho thấy nó thực sự là trong IB, nhưng ít nhất điều này cho phép tôi thiết lập kích thước tổng thể và vị trí tương đối so với những thứ khác trên màn hình. Tôi cũng đã tạo ra các IBOutlets trong viewController của tôi và kết nối đúng cách khung nhìn IB với chúng. Tuy nhiên khi chạy, tôi không thấy bất kỳ tùy chỉnh nào và khi tôi đặt các điểm ngắt trong initWithFrame:
hoặc loadView
Tôi chưa bao giờ thấy mã của mình đang được gọi. Làm thế nào tôi nên làm điều này?UIControl tùy chỉnh phân lớp thiết lập vị trí trong IB cho iOS
7
A
Trả lời
10
Bạn có thể kéo UIView vào tệp nib, sau đó sử dụng trình kiểm tra nhận dạng (command-opt-3) để thay đổi lớp thành bất kỳ lớp con nào của UIView.
Bạn sẽ cần đặt các lớp con trong mã khởi tạo được gọi khi được tải từ ngòi bút, nghĩa là không phải trong initWithFrame:
. Nếu bạn đang mã hóa cho tính đầy đủ, cả hai phương thức (lập trình và dựa trên nib) nên gọi cùng một khởi tạo.
Nếu bạn thích, chỉ cần tạo và addSubview:
trong mã khởi tạo, sau đó triển khai layoutSubviews
để bố cục các bản xem phụ tùy chỉnh của bạn. Điều này sẽ được gọi bất cứ lúc nào chế độ xem được thay đổi kích thước cũng như ban đầu.
Các vấn đề liên quan
- 1. Tôi có thể tạo trường văn bản tùy chỉnh và bàn phím cho iOS với phân lớp UIControl không?
- 2. Tôi có thể thêm các lớp con UIControl tùy chỉnh bằng đồ thị bằng IB vào Xcode 4 như thế nào?
- 3. Thiết lập vị trí bắt đầu cho OpenFileDialog/SaveFileDialog
- 4. - Vị trí của nút trên UIToolBar trong IB -
- 5. Cách phân lớp UIControl đúng cách?
- 6. Thiết lập cài đặt Git tùy chỉnh
- 7. UINavigationBar tùy chỉnh với chiều cao tùy chỉnh khiến cho UIBarButtonItem bị sai vị trí
- 8. TextField() Thiết lập vị trí dấu nháy
- 9. iOS - Tạo phân lớp UIView cho hình chữ nhật tròn
- 10. Lập trình thiết lập vị trí mô phỏng iphone
- 11. cmake add_library tại một vị trí tùy chỉnh
- 12. Cài đặt mô-đun nhị phân Python vào vị trí tùy chỉnh trong Windows
- 13. Thiết lập Inno i18n cho bảng tùy chỉnh
- 14. Làm cách nào để tạo một vị trí tùy chỉnh trong thiết kế qt4?
- 15. Chọn tất cả văn bản trong chỉnh sửa JComboBox và thiết lập vị trí con trỏ
- 16. Cấu hình tùy chỉnh thiết lập Python
- 17. Tùy chỉnh chấm màu xanh của Google Maps cho vị trí hiện tại
- 18. Giảm vị trí nền iOS Vị trí sử dụng pin
- 19. Vị trí @PropertySource tùy chọn
- 20. iOS - Chế độ xem IB
- 21. Tùy chỉnh TabBar cho iOS 5
- 22. rails.vim và bộ điều khiển tùy chỉnh vị trí
- 23. cmake - find_library - vị trí thư viện tùy chỉnh
- 24. JavaScript 'có thể chỉnh sửa' - Nhận/Thiết lập Vị trí của Người Chăm sóc
- 25. Bố trí tùy chỉnh cho RadioButton
- 26. Vị trí thiết lập Android của scrollbox hortizontal
- 27. Làm thế nào để thiết lập vị trí của "JOptionPane.showMessageDialog"
- 28. UIButton lớp con hoặc kế thừa từ UIControl?
- 29. Rails 3/Thiết lập biến môi trường tùy chỉnh
- 30. Cách tùy chỉnh vị trí của hộp cảnh báo
bạn đang sử dụng phiên bản IB/Xcode nào? – bshirley
'initWithCoder:' được gọi khi một đối tượng được nạp từ một ngòi bút, bạn có thể thay thế đè lên 'awakeFromNib' – bshirley
Sử dụng Xcode 4.0.1. @ bshirley Tôi nghĩ rằng đó là trường hợp, vì vậy tôi cũng đặt breakpoints trong 'loadView' mà nên được gọi trong cả hai trường hợp. – jamone