2012-04-27 32 views
6

Xin lỗi vì tôi thấy mọi người đã đặt câu hỏi như thế này trước đây. Tuy nhiên, tôi đã không có nhiều may mắn theo hướng dẫn. Tôi quan tâm đến việc tạo chế độ xem tùy chỉnh với tệp xib và sử dụng lại nó trong tệp xib của bộ điều khiển chế độ xem khác.Gặp sự cố khi tải chế độ xem tùy chỉnh từ xib khác xib

bài viết hiện tại:

Using xib object inside another xib

How to use a xib and a UIView subclass together?

tôi có đã:

  • Tạo một tập tin tùy chỉnh xib (chúng ta hãy gọi nó CustomView.xib), và h tương ứng và các tệp lớp .m
  • Đặt Chủ sở hữu tệp của tệp xib thành CustomView
  • Tạo một UIView cấp cao nhất với quan điểm khác như trẻ em (UILabel của vv)
    • LƯU Ý này có một đứa trẻ UIView mà là một giao diện tùy chỉnh bằng văn bản trong mã cũng
  • dây lên IBOutlets
  • Created nộp ViewController.xib
  • Added một UIView, thiết lập các lớp để CustomView và cũng có dây mà lên

Điều này dẫn đến một khung nhìn trống hiển thị khi tôi xây dựng ứng dụng.

sau đó tôi đã cố gắng những gì một trong những bài viết nói trên để làm đó là ghi đè phương pháp initWithDecoder CustomView và thêm dòng sau:

NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:self options:nil]; 
UIView *mainView = [subviewArray objectAtIndex:0]; 
[self addSubview:mainView]; 

này không may đã dẫn đến các lỗi sau:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: 
'[<UIView 0x548ff00> setValue:forUndefinedKey:]: 

Tôi nghĩ rằng điều này có thể là do tôi đã không đặt chế độ xem cấp cao nhất trong CustomView.xib thành lớp CustomView. Vì vậy, tôi sau đó thay đổi nó để CustomView, và sau đó mọi thứ đã đi vào đệ quy vô hạn. Điều đó có ý nghĩa vì nó chỉ tải lại chính nó hơn và hơn nữa.

Không chắc chắn những gì tôi đã bỏ lỡ từ những bài đăng trước đó, nhưng tôi đánh giá cao bất kỳ hướng dẫn nào! Cảm ơn!

+0

Đoán của tôi là đặt Chủ sở hữu tệp của tệp xib thành Chế độ xem tùy chỉnh, đó là vấn đề. Có lẽ cách tiếp cận này giúp: http://stackoverflow.com/questions/17487911/uiview-subclass-with-a-delegate-using-nib/17491977#17491977 – alexbumbu

Trả lời

1
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: 
'[<UIView 0x548ff00> setValue:forUndefinedKey:]: 

Lý do ở trên error thường đi kèm do sự thất bại của các kết nối trong Interface Builder, đó là đối tượng UIViewController với các đối tượng tương ứng trong lớp thực hiện. Vui lòng kiểm tra tất cả kết nối của bạn trong số Interface Builder. Đồng thời xác minh chủ sở hữu tệp trong tệp xib.

Tôi hy vọng điều này sẽ giải quyết được vấn đề của bạn.

Các vấn đề liên quan