Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何对出现在情节提要中的控制器中的视图进行编程更改_C#_Ios_Uiview_Uiviewcontroller_Xamarin - Fatal编程技术网

C# 如何对出现在情节提要中的控制器中的视图进行编程更改

C# 如何对出现在情节提要中的控制器中的视图进行编程更改,c#,ios,uiview,uiviewcontroller,xamarin,C#,Ios,Uiview,Uiviewcontroller,Xamarin,我最近继承了一个Xamarin项目,在那里我将从事iOS项目。复习了几篇教程后,我想我已经准备好了,但是我前面的人没有使用故事板或控制器!他们在名为LoginScreens.cs的文件中定制了所有视图(从外观上看,基本上是控制器文件) 为了便于学习和过渡,我想在这个项目中制作一个故事板。因此,我创建了一个名为Main的故事板,添加了一个ViewController和essential副本,并将LoginScreen.cs中使用的视图自定义代码粘贴到我的控制器中 更具体地说,我有一个Main.St

我最近继承了一个Xamarin项目,在那里我将从事iOS项目。复习了几篇教程后,我想我已经准备好了,但是我前面的人没有使用故事板或控制器!他们在名为LoginScreens.cs的文件中定制了所有视图(从外观上看,基本上是控制器文件)

为了便于学习和过渡,我想在这个项目中制作一个故事板。因此,我创建了一个名为
Main
的故事板,添加了一个ViewController和essential副本,并将
LoginScreen.cs
中使用的视图自定义代码粘贴到我的控制器中

更具体地说,我有一个
Main.Storyboard
,看起来像这样:

在这里,我使用编辑文本框和按钮作为我在
ViewController.cs
中实际对它们所做操作的占位符

这一切似乎都已正确注册和构建,但当我在iPhone 6s iOS 9.3上运行调试器时,我得到以下信息:

这些更改似乎显示了出来,但我的故事板iOS设计器的所有视图都保持不变。我试图看看是否有一种方法可以反映故事板上控制器所做的更改


TL;DR:我正在尝试以编程方式更改ViewController.cs文件中的一些视图。这些视图最初是通过iOS设计器添加的,出于自定义目的,它们在控制器中进行了编辑。我希望看到我在控制器中的视图上所做的可视更改,在iOS设计器中以及调试时反映出来。

有一个设置,
IBDesignable
,可以添加到Swift或Objective-C中的UI类声明中。这告诉Xcode,这些UI对象有一个您希望在interface Builder中显示的自定义接口

我不知道如何(或者即使可以)在Xamarin/C#中使用IBDesignable。如果Xamarin不支持它,那么你可能就走运了


我建议您在网上搜索“Xamarin IBDesignable”。

听起来您正试图从一个视图都是以编程方式完成的项目过渡到实现故事板。这是一个很大的变化,需要一些时间来转换视图

在cs文件中,会有类似于
Add(passwordtextfield)
的内容,它们将向您的故事板视图添加更多视图,因此您在登录视图中会获得很多视图。您将无法在故事板中看到这些,因为它们是在运行时完成的

如果您正在寻找IBDesignable,那么这更多是针对自定义控件的,您仍然需要添加代码才能看到故事板中.cs文件的更改

检查我的问题是否正确

查看此官方链接:

可能不是您想要听到的,但iOS项目中的UI通常采用以下三种方法之一:

  • 全部以编程方式
  • 故事板
  • 锡布斯

有大量的问题/博客帖子(甚至是a),权衡每一个问题的利弊。因此,最后一位开发人员可能认为最好是以编程方式进行操作

谢谢您的回复。这个项目还处于起步阶段(iOS应用程序只有一个场景),所以我可能会考虑让第一页主要基于代码,然后从现在开始使用故事板(可能吗?),或者我可能从头开始重写,并采用全故事板的方法