使用 Xcode 设计用户界面

从 Visual Studio 2019 版本 16.8 和 Visual Studio for Mac 版本 8.8 开始,建议在 Mac 上的 Xcode Interface Builder 中编辑 .storyboard 和 .nib 文件。

注意

从 Visual Studio 2019 版本 16.9 开始,Windows 上将不再支持编辑 iOS 情节提要。 请使用 Visual Studio for Mac 和 Xcode Interface Builder 继续生成 Xamarin iOS 用户界面。

本文介绍使用 Xcode Interface Builder 生成用户界面的常见解决方案。 如果你之前使用 Xamarin.iOS Designer 编辑 UI,则本文可能特别有用。

有关情节提要的更深入演练,请参阅 Xamarin.iOS 中的情节提要

如何打开情节提要

右键单击情节提要文件并选择“Xcode Interface Builder”,在 Visual Studio for Mac 中打开 iOS 用户界面文件:

Select Interface Builder

然后,你应该会看到 Xcode 窗口已打开。 此处保存的任何编辑内容都将反映在 Visual Studio 项目中。

Xcode Window

有关 Xcode Interface Builder 的详细信息,请参阅 Interface Builder 内置

创建新控件

若要使用 Xcode Interface Builder 创建新控件,请首先选择要编辑的情节提要。 然后,打开“Xcode 库”对话框(“查看”>“显示库”),然后将控件拖动到情节提要中。

Library Picker

接下来,打开相应的视图控制器头文件。 对于空白的“单一视图”Xamarin.iOS 应用,默认情节提要称为 Main.storyboard。 相应的视图控制器文件在 Visual Studio 中称为 ViewController.cs,并且在从 Xcode 查看时具有相应的 ViewController.h 头文件

从 Xcode Interface Builder,打开情节提要和相应的视图控制器头文件。 按住“控件”键 (^),将控件从情节提要拖动到视图控制器文件,直到 Xcode 提示你使用对话框。

Demo Link Control

如上所述,将在视图控制器的代码隐藏文件中自动生成相应的 C# 代码。 你现在可以在 Xamarin iOS 项目中访问此控件。

编辑现有控件的名称

若要从 Xcode Interface Builder 编辑现有控件的名称并将更改反映在 C# 项目中,请导航到相应的视图控制器头文件、右键单击并选择“重构”。

Refactor Control

将使用新名称重新生成代码隐藏文件,从而允许你通过 Visual Studio for Mac 中的代码访问该控件。

已知问题

本部分介绍已知问题。

“Visual Studio 无法与 Xcode 通信”

在 macOS Catalina 或更高版本中,可能会遇到以下错误:

cant communicate err

首先,在 Mac 系统首选项的“安全性和隐私”>“自动化”下,确保列出 Visual Studio 并已选中“Xcode”

macOS security

如果已选中“Xcode”并且仍显示错误消息,则可能需要重置 Visual Studio for Mac 隐私权限。

这可以通过启动终端窗口并发出以下命令来完成:

sudo tccutil reset All "com.microsoft.visual-studio"

若要确保上述更改生效,请重置 Mac 的 PRAM。 有关说明,请参阅在 Mac 上重置 NVRAM 或 PRAM