2012-02-02 26 views
9

Tôi đang xây dựng một ứng dụng iOS và tôi có hầu hết mã/GUI được xây dựng (một ứng dụng xem đơn lẻ). Bây giờ tôi có tập tin .xib và controller.h cạnh nhau và tôi muốn kết hợp một nút bấm với một hành động nào đó. Mỗi lần tôi cố gắng không có gì xảy ra. Giao diện người dùng mà tôi đang kéo hiển thị nhưng nó sẽ không cho phép tôi kết nối với phương thức. Điều này xảy ra cho tất cả các đối tượng/phương pháp.Ctrl-Kéo từ nút này sang phương thức khác không hoạt động. Xcode/Interface Builder

Tôi có một dự án gần như giống hệt nhau cũng hoạt động tốt!

Trả lời

20

Chọn tệp XIB của bạn và sau đó chọn "Chủ sở hữu tệp" là khối màu vàng. Trong thanh bên Tiện ích, chọn Biểu tượng có hình tròn và mũi tên bên trong biểu tượng đó (đó là "Thanh tra Kết nối"). Sau đó, bạn có thể Control + Kéo nút của bạn đến nút của bạn.

//// Sửa ////

Sau khi điều tra dự án của bạn ... Đẹp, chắc chắn bạn đã xóa một kịch bản và sau đó bổ sung thêm một .xib nhưng không thiết lập nó là lớp, hoặc liên kết đó là xem như một lối thoát.

Để làm điều đó:

  1. Chọn giao diện mới (XIB), sau đó selct giao diện chính, và trong thanh tra danh tính, thiết lập nó là lớp tên lớp tùy chỉnh của bạn "AVYSViewController."

  2. Chuyển sang trình kiểm tra kết nối và điều khiển + Kéo cửa sổ "chế độ xem" sang chế độ xem chính trong XIB của bạn.

Ngoài ra, dự án của bạn đang tìm kiếm tệp MainStoryBoard.storyboard. Vì vậy, loại bỏ cài đặt đó bằng cách chọn dự án của bạn, sau đó chọn mục tiêu của bạn và trong tab "Tóm tắt", xóa mọi thứ trong trường "Bảng phân cảnh chính".

Lưu ý: Tôi đã kiểm tra xem cài đặt dự án của bạn có hợp lệ không trước khi tôi xóa cài đặt bảng phân cảnh và trả về KHÔNG có lỗi, vì vậy hãy cẩn thận về vấn đề này cho các dự án trong tương lai.

+0

im xin lỗi tôi nghĩ rằng tôi đã theo dõi bạn một cách chính xác tôi chỉ không hiểu kết thúc. sau khi tôi có thanh tra kết nối, tôi đang kéo cái gì vào nút của mình? – Dreken105

+0

Bạn sẽ kéo hành động của mình, hành động này sẽ được liệt kê trong "Hành động đã nhận" trong trình kiểm tra kết nối. Nếu không có, bạn có thể gặp phải một số vấn đề về mã mà chúng ta nên xem xét. – jhilgert00

+0

có vẻ như có. bạn cần tôi cho bạn điều gì chỉ là controller.h? – Dreken105

0

Tôi nghĩ bạn nên nói lại câu hỏi của bạn .. Nó rất khó hiểu. Nhưng nếu tôi hiểu những gì bạn đang nói, bây giờ bạn có các tập tin mở side-by-side trong việc sử dụng các biên tập viên trợ lý. Tệp Xib ở phía bên tay trái, tệp .h ở bên phải. chính xác?

Bây giờ bạn đang cố gắng liên kết sự kiện trong điều khiển, với phương pháp bạn đã xác định trong tệp .h. đúng?

Vì vậy, nếu bạn trên thực tế, hãy xem các phương thức trong tệp .h mà bạn muốn liên kết đến, nhưng trình chỉnh sửa không cho phép bạn liên kết đến nó, có khả năng là bạn có bên tệp xib- bên cạnh với tệp .h sai. Bạn có chắc chắn rằng tệp .xib và .h song song với nhau được gọi là điều khiển? controller.h và controller.xib?

+0

yea chắc chắn là đúng tệp và bạn giải thích câu hỏi một cách chính xác. xin lỗi vì sự nhầm lẫn. – Dreken105

+0

Ok nếu chúng giống nhau, thì điều khiển nào là cố gắng liên kết phương thức với nó là một nút? nếu nó là một nút, hãy chắc chắn phải có phương pháp được định nghĩa là ** - (IBAction) myMethod: (id) người gửi; ** Bạn đang làm điều đó? –

+0

yep: '- (IBAction) showQuestion: (id) người gửi; - (IBAction) showAnswer: (id) người gửi; ' – Dreken105

1

Tôi nghĩ rằng tôi đang đọc cùng một cuốn sách với bạn (Big Nerd Ranch "Lập trình iOS"). Nếu vậy thì yeah, tôi đã có cùng một vấn đề như bạn. Phải thừa nhận rằng tôi đang sử dụng máy tính xách tay của tôi để vnc thông qua một hộp mac để làm việc trên xcode, vì vậy tôi nghĩ rằng nó đã được vnc không nắm bắt đúng bàn phím, nhưng hóa ra nó không vnc như tôi có thể nhấp chuột phải/cntl-click kéo trên những thứ khác.Phải thừa nhận một lần nữa tôi đã không nghiên cứu nhiều về lý do tại sao nó không hoạt động, nhưng trong khi chờ đợi tôi chỉ cần nhấp chuột phải vào nút, trong đó cho thấy các sự kiện mà nút phát ra, sau đó nhấp vào kéo "Touch Lên bên trong "sự kiện và thả nó trên bộ điều khiển/chủ sở hữu, sau đó hiển thị các hành động/phương pháp để móc sự kiện. Nếu bạn nhìn vào trang 17 (nếu bạn đang đọc cùng một cuốn sách) thì đó là sự kiện được kết nối.

Xin lỗi nếu có bất kỳ lỗi rõ ràng rõ ràng nào với những gì tôi vừa nói, chỉ mới bắt đầu đọc cuốn sách này hôm nay sau bữa trưa lớn.

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