加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Monodevelop 2.8,XCode 3.2.6,Interface Builder:Outlets和Acti

发布时间:2020-12-14 17:55:53 所属栏目:百科 来源:网络整理
导读:编辑:由于我还没有安装XCode 4,我想知道MD 2.8是否与XCode 3.2.6完全兼容.特别是,我能够使用 MT documentation中描述的新程序连接Outlets和Actions吗? 我刚刚安装了MonoDevelop(MD)2.8.它似乎无法工作我期待. 在MD 2.6中,当我创建一个新的UIViewController
编辑:由于我还没有安装XCode 4,我想知道MD 2.8是否与XCode 3.2.6完全兼容.特别是,我能够使用 MT documentation中描述的新程序连接Outlets和Actions吗?

我刚刚安装了MonoDevelop(MD)2.8.它似乎无法工作我期待.

在MD 2.6中,当我创建一个新的UIViewController时,该控制器如下所示:

> Controller.xib< - 在同一棵树内
> Controller.xib.cs
> Controller.xib.designer.cs

另外,如果我打开一个xib文件,Controller.xib,只打开Interface Builder(IB).如果我向xib添加插座,则插件在Controller.xib.designer.cs中可见.

在MD 2.8中,该控制器如下所示:

> Controller.xib< - 不再在同一棵树内
> Controller.cs

> Controller.designer.cs

所以我有两个文件而不是一个.

另外,则会打开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的基础上有几个好处:

>现在可以将多个xib文件引用到同一个类.
>该项目包含所有内容资源和其他xib文件,因此可以从Interface Builder轻松引用它们
> Interface Builder将“看到”在C#用户类部件和基类上编写的出口,而不仅仅是设计器类部件.

此外,现在手动编写插座要容易得多.例如,只需将Outlet属性应用于属性即可

[Outlet ("someView")]
UIView SomeView {get; set; }

不幸的是,新模型意味着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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读