Lor*_*o B 5 xcode interface-builder monodevelop xamarin.ios outlet
编辑:由于我还没有安装XCode 4,我想知道MD 2.8是否与XCode 3.2.6完全兼容.特别是,我能够使用MT文档中描述的新程序连接Outlets和Actions 吗?
我刚刚安装了MonoDevelop(MD)2.8.它似乎无法工作我期待.
在MD 2.6中,当我创建一个新的UIViewController时,该控制器如下所示:
另外,如果我打开一个xib文件,Controller.xib,只打开Interface Builder(IB).如果我向xib添加插座,则插件在Controller.xib.designer.cs中可见.
在MD 2.8中,当我创建一个新的UIViewController时,该控制器如下所示:
所以我有两个文件而不是一个.
另外,如果我打开一个xib文件,则会打开Controller.xib,IB和Xcode.如果我向xib添加插座,则设计器中不会显示插座.
有什么建议?
MonoDevelop 2.8引入了一个新的xib设计器模型,以支持Xcode 4.
集成在Xcode 4中的Interface Builder不再支持在xib文件中定义类,出口和操作.这就是MonoDevelop不再可能使用从xib文件生成*.xib.designer.cs文件的模型.相反,Interface Builder从Objective-C源代码中读取出口和操作.MonoDevelop的解决方案是将C#类同步到Objective-C存根.
当您从MonoDevelop 2.8打开xib文件时,MonoDevelop创建一个临时Xcode项目,其中Objective-C存根镜像所有暴露给Objective-C的C#类,即从NSObject继承并显式注册[Register("SomeName")]属性的类.然后,它会在该项目的上下文中打开xib文件,以便Interface Builder将查看所有可用类型以及它们上的插座和操作.如果使用其控制拖动系统在Xcode 4中添加了出口和操作,那么它们会自动导回到MonoDevelop中的*.designer.cs文件中.
这意味着不再从其他文件生成设计器文件,而是存储信息的实际位置.现在,设计器文件与类而不是xib相关联.
这个新模型在支持Xcode 4的基础上有几个好处:
此外,现在手动编写插座要容易得多.例如,只需将Outlet属性应用于属性即可
[Outlet ("someView")]
UIView SomeView {get; set; }
Run Code Online (Sandbox Code Playgroud)
不幸的是,新模型意味着MonoDevelop不再集成在Interface Builder 3.2.x中创建出口和操作.我的建议是你升级到Xcode 4.加载和编辑pre-MD 2.8项目应该可以正常工作.
请参阅 http://docs.xamarin.com/ios/tutorials/transitioning_from_xcode_3_to_xcode_4
| 归档时间: |
|
| 查看次数: |
1395 次 |
| 最近记录: |