如何在故事板上显示以编程方式添加的元素?
Posted
技术标签:
【中文标题】如何在故事板上显示以编程方式添加的元素?【英文标题】:How to display elements added programmatically on a storyboard? 【发布时间】:2019-01-22 18:11:53 【问题描述】:我已经开始学习 Xamarin.ios 并尝试通过 Storyboards 添加搜索栏元素,并以编程方式在 ViewController 中添加。我很难理解为什么当我对搜索栏进行编码而不是按照 Microsoft 文档中所述进行拖放时,我无法在情节提要上看到它?
文档:https://docs.microsoft.com/en-us/xamarin/ios/user-interface/controls/searchbar
searchBar = new UISearchBar()
Placeholder = "Enter your search Item",
Prompt = "Search Entered here",
ShowsScopeBar = true,
ScopeButtonTitles = new string[] "Boston", "London",
"SF" ,
;
我需要应用哪些设置才能在 Storyboard 上看到我的硬编码元素?
在项目结构方面,我刚刚启动了 Visual Studio 中提供的默认 Single Page iOS 模板,将代码粘贴到默认创建的 ViewController 类中,然后尝试寻找出现在 Main.storyboard 上的元素。我知道也许我没有设置任何允许情节提要看到“后端”ViewController 代码的设置。
任何帮助将不胜感激!谢谢!
【问题讨论】:
你的问题有点混乱。您是否希望看到Storyboard
分解为各种 Timeline
s 以及这些 Timeline
s 的值,就像它是一个树视图一样?
没有。它根本与时间轴或树视图无关。我有一个默认的Main.storyboard
和一个SearchBar
元素,我在我的代码中概述的默认ViewController
类中编码。我无法看到SearchBar
以图形方式出现在Main.storyboard
上,但是当我启动Iphone 模拟时它看起来很好。
【参考方案1】:
好吧,我想你对Storyboard
有一个误解。 Storyboard 不是预览器。
故事板是所有屏幕的可视化表示 应用。它包含一系列场景,每个场景 表示视图控制器及其视图。这些视图可能包含 允许您的用户与您的交互的对象和控件 应用。这个视图和控件(或子视图)的集合是 称为内容视图层次结构。
Storyboard
和codes
你写在你ViewController
是创建UI
和你的项目business logic
的两种不同方式。
您可以在Storyboard
中创建您的searchBar
或使用Viewcontroller
中的代码。运行项目后,项目将合并这两个文件,以便您可以看到在 Storyboard
和 codes
中创建的两个元素。
【讨论】:
感谢详细的解释!确实被误解了。【参考方案2】:不,不可能看到以编程方式添加的组件出现在情节提要中。
故事板是一种可视化工具,用于布置多个应用程序视图以及它们之间的转换。它在内部表示为一个 XML 文件。
以编程方式添加的组件是一个单独的文件,情节提要是一个单独的 xml 文件。
【讨论】:
以上是关于如何在故事板上显示以编程方式添加的元素?的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式导航到另一个故事板上的导航控制器和标签栏控制器内的视图控制器
如何以编程方式将 UIImageView 添加到 UIStackView(故事板)