6

Tôi muốn tạo mô-đun iOS trong đó tôi có lớp viewController với tệp .xib của nó. Bây giờ vấn đề là làm thế nào để gọi xem đó từ mã titan của tôi. Tôi biết rằng có proxy xem có sẵn nhưng không biết làm thế nào để sử dụng chúng do tài liệu không tốt như vậy.Xây dựng Chế độ xem bản địa bằng mô-đun iOS và sử dụng chúng trong Titanium

Cho đến bây giờ tôi đã tạo ra một mô-đun nơi dữ liệu không phải đồ họa có thể được truyền nhưng những gì về việc có được Xem bộ điều khiển từ mô-đun của tôi.

Tôi đã kiểm tra wiki Appcelerator, nhưng đó không phải là hữu ích Bất kỳ hướng dẫn sẽ hướng dẫn cho tôi sẽ rất hữu ích

Trả lời

4

Kiểm tra các TiModdevguideDemoView.h/m và TiModdevguideDemoViewProxy.h/m trong hướng dẫn dev mod cho iOS:

https://github.com/appcelerator/titanium_modules/tree/master/moddevguide/mobile/ios/Classes

Nó chỉ đơn giản thể hiện mối quan hệ giữa quan điểm và cái nhìn proxy. Trong trường hợp này, nó tạo thành một hình vuông.

Bạn có thể thấy nó đang được sử dụng trong JavaScript ở đây: https://github.com/appcelerator/titanium_modules/blob/master/moddevguide/mobile/ios/example/demos/viewproxyDemo.js

khi bạn đã có trong tay, và có thể làm cho một cái nhìn đơn giản, bạn đã sẵn sàng để thực hiện bước tiếp theo để giải quyết câu hỏi của bạn. Bạn cần phải chuyển đổi XIB của bạn thành một NIB. Cách dễ nhất là thêm XIB vào một dự án gốc, biên dịch dự án, và sau đó rút ra NIB. Dump nó trong các tài sản cho các mô-đun, và sau đó tham khảo nó từ mã mô-đun của bạn. Rất tiếc, tôi không có bất kỳ nguồn công khai nào sử dụng NIB để liên kết, nhưng tôi có thể hiển thị cho bạn một đoạn trích. (Một số module chúng tôi duy trì sử dụng phương pháp này, vì vậy tôi biết rằng bạn thành công có thể lấy nó làm việc! Jira, Gigya, Urban Airship, và những người khác.)

NSBundle* bndl = [NSBundle bundleWithPath:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"ti.jira/1.0/assets/JMC.bundle"]]; 
JMCSketchViewController *sketchViewController = [[[JMCSketchViewController alloc] initWithNibName:@"JMCSketchViewController" bundle:bndl] autorelease]; 

Lưu ý rằng chúng ta thường không sử dụng ngòi trừ chúng tôi có thứ gì đó từ bên thứ ba buộc chúng tôi phải làm. Nó dễ dàng hơn chỉ để tạo ra các khung nhìn một cách độc đáo hơn là khai báo.

Bạn có thể đọc thêm về chế độ xem và xem proxy trong hướng dẫn dành cho nhà phát triển iOS mod của chúng tôi. Một khi bạn hiểu những gì tôi liên kết ở trên trong hướng dẫn dev mod (và tạo thành công của riêng bạn), hướng dẫn dev mod sẽ hữu ích hơn nhiều cho bạn. (Tôi đã có một số bản cập nhật cho hướng dẫn trong đường dẫn sẽ giúp bạn dễ hiểu hơn). http://docs.appcelerator.com/titanium/2.0/index.html#!/guide/iOS_Module_Development_Guide

Hy vọng điều này sẽ hữu ích. Hãy cho tôi biết nếu có bất cứ điều gì tôi có thể tiếp tục xác thịt. Có một bướu nhỏ của sự hiểu biết cho bạn để có được hơn, nhưng một khi bạn đặt một số mỡ khuỷu tay trong, bạn sẽ được chạy tốc độ đầy đủ với sự phát triển mô-đun.

+0

, Cảm ơn câu trả lời của bạn, như bạn đã nói 'chuyển đổi XIB thành NIB', ở đây tôi không chỉ tạo một tệp xib. Tôi đang thêm toàn bộ UIViewController với tệp .h, .m và .xib. Và nếu tôi muốn thêm một chức năng với một cái nhìn vào dự án titan của tôi, vì vậy tôi sẽ thêm một viewController với một .xib gắn liền với nó. –

+0

Xin chào Dawson, tôi vẫn đang đấu tranh với việc phát triển module gốc, tôi đã thành công với dữ liệu không trực quan nhưng khi nói đến việc tạo ra một khung nhìn từ mô-đun gốc tôi vẫn còn trong bóng tối .. bạn có thể giúp tôi với bất kỳ hướng dẫn nào không. –

+0

Bạn đã xem qua các mô-đun công cộng chưa? - https://github.com/appcelerator/titanium_modules - QuickLook, PageFlip, Tandem Scroll, Nhãn theo kiểu, Sơn, Cột, Biểu đồ và các thứ khác đều có các thành phần trực quan. –