1

我有两个文本字段和两个分段控件的视图。我希望每个文本字段在选择相应的分段控件时都可以编辑。

这是我正在使用的方法:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
if (textField == _textField) {
    if (_segmentedControl.selectedSegmentIndex == 0 ||
        _segmentedControl.selectedSegmentIndex == 1 ||
        _segmentedControl.selectedSegmentIndex == 2 ||
        _segmentedControl.selectedSegmentIndex == 3) {
        return YES;
    } else {
        return NO;
    }
    if (textField == _textFieldTwo) {
        if (_segmentedControlTwo.selectedSegmentIndex == 0 ||
            _segmentedControlTwo.selectedSegmentIndex == 1) {
            return YES;
        } else {
            return NO;
        }
    }

}

}

这适用于第一个分段控件和文本字段,但无论第二个分段控件的条件如何,第二个文本字段仍可编辑。

谁能告诉我哪里出错了?

谢谢

4

2 回答 2

2

对我来说,这似乎是一个简单的逻辑错误。您的:

if (textField == _textFieldTwo) {

真的应该是一个else if上第一if

只需将其更改为:

} else if (textField == _textFieldTwo) {

它应该开始工作。

于 2013-09-06T11:43:31.623 回答
2

IF 未正确嵌套。

if (textField == _One){
  if( 0<= selectedIndex < 4) {
      //do something
  } else {
      return no;
  } 
  if (textField == _Two){
      // other stuff
  }
}

你能看到 if(textFieldTwo) 在 if(textFieldOne)里面吗?

于 2013-09-09T02:14:32.310 回答