1

入力の長さが3に等しい場合、次の文字を「-」にするという単純な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] または遅延後にセレクターを実行することで、あなたのためにトリックを行うことができます。どちらの場合もボタンを押す必要はありません

「-」を追加するには、入力した文字数を確認し、3 文字目が入力されたら「-」を追加します。

于 2013-02-22T06:46:04.923 に答える