以编程方式自动将整数添加到UILabel中?可能?

时间:2013-02-22 06:05:13

标签: ios objective-c xcode

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

效果很好,但是我想在第三次按下我的按钮后自动将“ - ”放在那里。所以我按下“1”,“2”,然后当我按下“3”时,它会自动直接输入“ - ”。目前只有当我第四次按下按钮时才会出现“ - ”?

-(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:@"-"];
        }

    }

}

非常感谢任何帮助!谢谢!

5 个答案:

答案 0 :(得分:1)

buttonClicked方法

中添加以下代码
if ([myLabel.text length] == 3)
{ 
   myLabel.text = [val stringByAppendingString:@"-"]; 
}

答案 1 :(得分: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;
}

答案 2 :(得分:0)

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

答案 3 :(得分:0)

试试这种方法,希望它会对你有所帮助。 将UILabel对象保留为xib中的空白。

- (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:@"-"];
    }
}

答案 4 :(得分:-1)

您可以发送事件按钮。像[button sendActionsForControlEvents:UIControlEventTouchUpInside] 或者甚至在延迟后执行选择器可能会为您做到这一点。 这两种情况你都不需要按一下按钮

添加“ - ”只需检查输入的字符数,输入第三个字符时添加“ - ”。