我设置了一个简单的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:@"-"];
}
}
}
非常感谢任何帮助!谢谢!
答案 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]
或者甚至在延迟后执行选择器可能会为您做到这一点。
这两种情况你都不需要按一下按钮
添加“ - ”只需检查输入的字符数,输入第三个字符时添加“ - ”。