我在Xamarin ios项目中使用故事板和自动布局,我发现我希望根据用户交互更改UI。例如。选项按钮应显示登录表单或注册表单。所有其他视图/控件应该是相同的,但是寄存器形式具有更多字段,占用的空间可能不同。
以上只是一个例子,我发现我需要这是几个视图,并假设我应该使用的控件或模式。
答案 0 :(得分:0)
我对Xamarin知之甚少,所以我必须回答原生iOS开发并假设它是等价的。
听起来你想要相同的按钮将用户带到基于当前状态的不同故事板场景。
这很容易。不是将segue直接链接到按钮,而是从源场景到每个目标场景创建segue,并为它们提供唯一标识符。然后将按钮挂钩到IBAction
方法。在该方法中,检查相关状态,并使用performSegue(withIdentifier:sender:)
调用相应的segue:
@IBAction func handleButton(_ sender: Any) {
if userIsRegistered {
performSegue(withIdentifier: "registerSegue", sender: sender)
} else {
performSegue(withIdentifier: "loginSegue", sender: sender)
}
}
那个Swift代码 - 你必须自己弄清楚等效的C#,但它至少应该给你这个想法。