我需要设置分段控件以影响我的按钮发送给用户的位置。是将它们发送到新屏幕,否则将它们发送到下一个屏幕。
第1段:
UISegmentedControl *par;
是(0)单击下一个按钮将用户发送到UIViewController ParError。 No(1 - Default)在点击下一个按钮时将用户发送到UIViewController TermsUI。
第二段:
UISegmentedControl *basicOp;
是(0)在点击下一个按钮时将用户发送到UIViewController Unsupported。 No(1 - Default)在点击下一个按钮时将用户发送到UIViewController TermsUI。
我已经尝试了If语句并且它变得复杂,并且在选择两者时我一直都会遇到错误。有人想要一份工作吗?我无法用任何开发人员指南来解决这个问题。请帮忙吗?
我是Xcode和Objective-C的新手,所以请解释如何做事的步骤。
注意:我不需要将其作为子视图。它正在做的是将用户推送到另一个屏幕,给出关于该做什么的新指令,然后将它们带到与原始屏幕不同的另一个屏幕。
答案 0 :(得分:0)
要获取SegmentControls的当前值,请使用属性.selectedSegmentIndex
。这将返回您在segmentControl (More information about UISegmentedControl class reference)中选择的选项的索引,
据我所知,par
段只有两个元素:YES
,NO
。按此特定顺序,
if (par.selectedSegmentIndex == 0) {
// YES is selected, perform the action for going to ParError UIViewController
} else {
// NO is selected, perform the action for going to TermsUI UIViewController
}
如果basicOp
在同一订单上还有两个选项:YES
,NO
if (basicOp.selectedSegmentIndex == 0) {
// YES is selected, perform the action for going to Unsupported UIViewController
} else {
// NO is selected, perform the action for going to TermsUI UIViewController
}
假设您想要实现以下目标:
par
处于启用状态(无论值是basicOp
),应用会将用户发送到ParError UIViewController
par
处于“否”状态且basicOp
处于“是”状态,则应用会将用户发送至Unsupported UIViewController
par
处于“否”状态并且basicOp
已启用,则应用会将用户发送至TermsUI UIViewController
你应该拥有的条件是:
if (par.selectedSegmentIndex == 0) {
// YES is selected, perform the action for going to ParError UIViewController
} else if (basicOp.selectedSegmentIndex == 0) {
// YES is selected, perform the action for going to Unsupported UIViewController
} else if (par.selectedSegmentIndex == 1 || basicOp.selectedSegmentIndex == 1) {
// NO is selected, perform the action for going to TermsUI UIViewController
}