Visual Studio for Mac 不同步 Xcode 11.6 和 Interface Builder 中所做的更改
Posted
技术标签:
【中文标题】Visual Studio for Mac 不同步 Xcode 11.6 和 Interface Builder 中所做的更改【英文标题】:Visual Studio for Mac is not synching the changes made in Xcode 11.6 and Interface Builder 【发布时间】:2020-07-28 15:22:18 【问题描述】:我正在 Visual Studio for Mac 上使用 Xamarin C# 开发 Mac OS 应用程序,因为我的要求是使已经开发的 windows 应用程序与 mac 兼容或新的适用于 mac os 的应用程序类似于 windows 之一,选择 Xamarin 似乎是公平的选择我想重用 Windows 应用程序中的一些代码,所以我使用这个指南开始了新的 Mac 项目: https://docs.microsoft.com/en-us/xamarin/mac/get-started/hello-mac
现在,当我在 Xcode 和 Visual Studio 之间同步设计代码时遇到问题时,无论 UI 发生什么变化,我在 Xcode 上创建的 IBOutlet、Actions 都无法在 Visual Studio 设计器文件中同步。
例如我已经为 viewcontroller.h(在 Xcode 上)中的标签创建了 IBOutlet,它应该在 viewcontroller.designer.cs 文件(Visual Studio)中自动转换为 C# 代码,但遗憾的是它没有发生。
【问题讨论】:
【参考方案1】:我在使用 VS for Mac 和 XCode 12.2 时遇到了困难,我发现我做错了几件事。
XCode 似乎默认打开.m
文件(过去几年可能并非总是如此),所以当我打开助手时(我在故事板中工作).m
文件是默认打开,但出口需要进入.h
文件。我必须确保在 Google 助理中打开了 .h
文件。
当控制拖动到 .h 文件以创建插座时,我将插座 放在了@interface
的花括号内。这将创建一个看起来像插座的东西,但它不会被 Visual Studio 识别为这样。我必须确保在 .h 文件中指向 @interface
大括号外部的行,以便创建的插座看起来像这样:
@property (nonatomic, retain) IBOutlet UIImageView *myImageViewOutlet;
完成此操作后,outlet 属性将同步到 Visual Studio,并在相应的 .designer
文件中创建。
【讨论】:
以上是关于Visual Studio for Mac 不同步 Xcode 11.6 和 Interface Builder 中所做的更改的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2017 for Mac 快捷键
Visual Studio for Mac 2017预览版 初体验