如何创建iOS屏幕动态?
如何创建动态变化的iOS布局。假设我想创建一个如下屏幕:- 默认情况下,此屏幕是针对个人用户的,但当我点击公司按钮时,用户界面应更改为此 我知道我可以通过编码隐藏textbox和textarea,但我不知道如何使它们显示在其他控件和保存按钮之间,并自动更改保存按钮的位置,这应该在所有屏幕大小、横向和横向模式下都能工作。我不知道如何进一步解释和搜索此问题在视图中放置“公司名称”和“公司地址”字段。这两个字段的容器视图将具有一个约束,其中“保存”按钮始终位于其下方,“个人”和“公司”按钮位于其上方 在该视图的ViewController的代码中,覆盖如何创建iOS屏幕动态?,ios,objective-c,swift,storyboard,autolayout,Ios,Objective C,Swift,Storyboard,Autolayout,如何创建动态变化的iOS布局。假设我想创建一个如下屏幕:- 默认情况下,此屏幕是针对个人用户的,但当我点击公司按钮时,用户界面应更改为此 我知道我可以通过编码隐藏textbox和textarea,但我不知道如何使它们显示在其他控件和保存按钮之间,并自动更改保存按钮的位置,这应该在所有屏幕大小、横向和横向模式下都能工作。我不知道如何进一步解释和搜索此问题在视图中放置“公司名称”和“公司地址”字段。这两个字段的容器视图将具有一个约束,其中“保存”按钮始终位于其下方,“个人”和“公司”按钮位于其上
viewWillLayoutSubviews
。在这里,您可以设置这样的逻辑:如果选择了Company,那么前面提到的容器视图具有一定的高度,“Company Name”和“Company Address”感觉被隐藏=false,并且它们的大小和位置根据容器视图的尺寸和位置而改变
编辑:
我忘了提到您应该在容器视图以及ViewController中的公司名称和公司地址字段中设置IBOutlets。下面是示例代码:
Swift中的示例代码:
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
if companyButtonPressed {
var newFrame = containerView.frame
newFrame.size.height = 600// or something
containerView.frame = newFrame
}
}
还有其他方法来完成你想要做的事情。类似于子类化容器视图并替代drawRect。探索者和自己发现。@rmaddy为什么要删除swift和OBJECT-c标记?它可能还需要编码?你认为不需要任何一种语言的编码就可以完成吗?你让我更困惑了。请你用代码解释一下,我只知道我必须填写“公司名称”和“公司地址”视图中我可以执行但可能是的字段我可以尝试按您所说的设置约束,但不知道有关
覆盖视图willlayoutsubviews
@varunaharia的任何信息请参见编辑。我认为您也可以对容器视图的子视图设置一些约束,只需通过使用containerView.clipsToBounds=true并将containerView.height设置为0来隐藏它们。这样,您就不必对“公司”字段进行任何计算。