2016-12-19 20 views
0
UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault 
                 handler:^(UIAlertAction * action) { 

                  UITextField *alertTextField = alert.textFields.firstObject; 
                 NSLog(@"The Number is %@", alertTextField.text); 
                  int marioNum = [alertTextField.text intValue]; 
                  UITextView *disp = [[UITextView alloc] init]; 
                  CGRect dispFrame = CGRectMake(100, 200, 100, 100); 
                  disp.frame = dispFrame; 
                  [self.view addSubview:disp]; 

                  NSMutableString *make = [[NSMutableString alloc] init]; 
                  for (marioNum; marioNum>0; marioNum--) { 
                   [make appendString:@"#"]; 
                   NSLog(@"%@", make); 
                   disp.text = [NSString stringWithFormat:@"%@", make]; 

                  } 
                 }]; 

NSLogを使用しているときに機能しますが、UITextViewでは、使用している番号と一緒にすべてを入れます。私は私のNSLogで、2を使用したい場合たとえば、それは完全にこのように出てくるでしょう:forループを使用してUITextViewに追加するにはどうすればよいですか?

を*

**

しかし、私UITextViewでそれだけのような

を示し

**

それでもウントない場合私がやろうとしていることを忘れてしまったので、私はこのビデオの終わりに使用したのと同じようにプログラムを作りたかったのです。

https://www.youtube.com/watch?v=ZeXSPJfsNPE

答えて

0

実際には2回ループする必要があります(これはTj3nの回答のコメントに記載されている情報を前提としています)。このような

何か作業をする必要があります:

for (NSUInteger i = 0; i <= marioNum; i++) { 
    for (NSUInteger j = 0; j < i; j++) {   
     [make appendString:@"#"]; 
    } 
    [make appendString:@"\n"]; 
} 

disp.text = [NSString stringWithFormat:@"%@", make]; 
+0

うわー!どうもありがとうございます! –

0

はい、それが表示されますちょうどその下

+0

を。私が3を使うならば、私はそれがすべて異なる行に* ** ***あることを期待しています。しかし、これはちょうどあなたの 'appendString'に*** –

+0

を表示し、それに '\ n'を追加し、その新しい行の文字 – Tj3n

+0

これはちょうど各行に1つの星印を印刷し、最終結果だけを使用し、NSLog 。しかし、私を助けてくれてありがとう:) –

0

、forループの外disp.text = [NSString stringWithFormat:@"%@", make];を持参してください。**ループはあなたが

このラインでのTextViewのテキストを交換するたびに実行されている場合ので、
disp.text = [NSString stringWithFormat:@"%@", make]; 

適切な文字列を表示するには、そのテキストをテキストビューにも追加する必要があります。あなたが最初にdisp.textをチェックする必要があります。空白の場合は、単にテキストを追加してください。新しいtxtに\ nを追加すると、新しい行にテキストが追加されます。私は、これはあなたを助けることを願っています

if (disp.text.length > 0) { 
     disp.text = [disp.text stringByAppendingString:[NSString stringWithFormat:@"\n%@", make]]; 
    } 
    else{ 
     disp.text = [NSString stringWithFormat:@"%@", make]; 
    } 

}

0

はこれを試してみてください。ちょうどループの最後に番号を使用し

handler:^(UIAlertAction * action) { 

    UITextField *alertTextField = alert.textFields.firstObject; 
    NSLog(@"The Number is %@", alertTextField.text); 
    int marioNum = [alertTextField.text intValue]; 
    UITextView *disp = [[UITextView alloc] init]; 
    CGRect dispFrame = CGRectMake(100, 200, 100, 100); 
    disp.frame = dispFrame; 
    [self.view addSubview:disp]; 
    NSMutableString *make = [[NSMutableString alloc] init]; 
    for (marioNum; marioNum>0; marioNum--) { 
     [make appendString:@"#"]; 
     NSLog(@"%@", make); 
    }                            
    disp.text = make; 

}]; 
関連する問題