0

我需要设置我的分段控件来影响我的按钮将用户发送到哪里。Yes 将它们发送到新屏幕,No 将它们发送到下一个屏幕。

第一段:

UISegmentedControl *par;

是 (0) 在单击下一个按钮时将用户发送到 UIViewController ParError。否(1 - 默认)在单击下一步按钮时将用户发送到 UIViewController 条款UI。

第二段:

UISegmentedControl *basicOp;

是 (0) 在单击下一个按钮时将用户发送到 UIViewController Unsupported。否(1 - 默认)在单击下一个按钮时将用户发送到 UIViewController 条款UI。

我已经尝试过 If 语句并且它变得复杂,并且当两者都被选中时我不断收到错误。有人想要工作吗?我无法通过任何开发人员指南弄清楚。请帮忙?

我是 Xcode 和 Objective-C 的新手,所以请解释一下如何做的步骤。

注意:我不需要将其作为子视图。它所做的是将用户推送到另一个屏幕,女巫给出关于做什么的新指令,然后将它们带到与原始屏幕不同的另一个屏幕。

4

1 回答 1

0

要获取从 SegmentControls 中选择的当前值,请使用属性.selectedSegmentIndex。这将返回在您的 segmentControl 中选择的选项的索引(有关 UISegmentedControl 类参考的更多信息)

正如我从您的问题中了解到的那样,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在同一订单上也有两个选项的情况下: YESNO

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为 YES(无论有什么值basicOp),应用程序将用户发送到ParError UIViewController
  • 如果par是 NO 并且basicOp是 YES,应用程序将用户发送到Unsupported UIViewController
  • 如果par是 NO 并且basicOp是 on ,应用程序将用户发送到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
}
于 2013-10-01T05:36:13.313 回答