如果用户单击单个视图控制器内的按钮,是否可以显示其他文本字段?

Is there a way to display additional textFields if a user clicks on a button inside a single view controller?

我在视图控制器中有一个相当复杂的表单,它需要为某些用户填写一些文本字段,并为其他用户填写许多其他文本字段。有没有办法用几个文本字段启动视图控制器,然后如果用户单击按钮('MORE')...其他文本字段将显示?

您可以在 Interface Builder 的视图中添加所有文本字段并设置属性 myTextField.hidden = true。当您单击 more 按钮时,您可以将隐藏属性设置为 false。

希望对您有所帮助。

Is there a way to start the view controller with a couple of text fields, and then if a user clicks on a button('MORE')...the other text fields will display?

当然可以。当用户点击按钮时,您可以插入其他字段。您可以通过创建新字段并将它们插入现有视图,或加载一些不同的视图并将视图控制器的视图设置为该新视图(当然还可以使用用户数据填充新视图)来实现。或者有问题的字段可能存在于原始视图中但被隐藏了。

视图控制器完全负责它管理的视图,包括该视图的所有子视图,因此它可以真正地做任何它喜欢的事情来移动、添加或删除视图、控件等。

是的,你可以。您可以通过动态创建它们在运行时添加文本字段。但是还有另一种可能性,可以使用 IB 在单独的 UIView 中设计这些字段,并在需要时将此 UIView 添加到 ViewController.view。这样您将节省每个文本字段元素的定位工作。