1

我设置了一个简单的 if 语句,如果输入长度等于 3,则下一个字符为“-”。

它运作良好,但我希望在我第三次按下按钮后自动将“-”放在那里。所以我按“1”、“2”,然后当我按“3”时,它会自动在之后直接放一个“-”。目前“-”只有在我第 4 次按下按钮时才会被放置?

-(IBAction)buttonDigitPressed:(id)sender {

    NSString *val = phoneNumberLabel.text;
    int length = [val length];

    } else {
        NSString *tagValue = [NSString stringWithFormat:@"%d", [sender tag]];
        phoneNumberLabel.text = [val stringByAppendingString: tagValue];

        if (length == 3) {
            phoneNumberLabel.text = [val stringByAppendingString:@"-"];

        }

        if (length == 7) {
            phoneNumberLabel.text = [val stringByAppendingString:@"-"];
        }

    }

}

任何帮助将不胜感激!谢谢!

4

5 回答 5

1

buttonClicked在方法中添加以下代码

if ([myLabel.text length] == 3)
{ 
   myLabel.text = [val stringByAppendingString:@"-"]; 
}
于 2013-02-22T06:19:35.457 回答
1
-(IBAction)buttonDigitPressed:(id)sender {

  NSString *val = phoneNumberLabel.text;
  NSString *newValue = @"";
  NSString *dash = @"";

  int length = [val length];

  if ( ((length == 3) || (length == 7)) ) {
    dash = @"-";
  }

  newValue = [NSString stringWithFormat:@"%@%@%d", val, dash, [sender tag]];
  phoneNumberLabel.text = newValue;
}
于 2013-02-22T20:04:09.393 回答
0

使用整数更新标签后,只需在相同的方法中添加该代码即可。

于 2013-02-22T06:15:54.133 回答
0

试试这个方法,希望对你有帮助。在 xib 中保持 UILabel 对象为空白。

- (IBAction)pressAction:(UIButton*)sender
{
    if (lbl.text.length<=2) {
        lbl.text=[lbl.text stringByAppendingFormat:@"%i",sender.tag];
    }

    if (lbl.text.length>=3){
        lbl.text=[lbl.text stringByAppendingString:@"-"];
    }
}
于 2013-02-22T06:59:33.683 回答
-1

您可以向按钮发送事件。[button sendActionsForControlEvents:UIControlEventTouchUpInside] 甚至延迟后执行选择器可能会为您解决问题。这两种情况你都不需要按下按钮

要添加“-”,只需检查输入了多少个字符以及输入第三个字符时添加“-”。

于 2013-02-22T06:46:04.923 回答