如何使用for循环附加到UITextView?

时间:2016-12-19 09:46:49

标签: ios objective-c

didTapButton

当我使用NSLog时它起作用,但在UITextView中它只是将它们与我使用的数字放在一起。例如,如果我想使用2,在我的NSLog中它将完全像这样:

  

*

     

**

但在我的UITextView中它显示就像

  

**

如果你仍然不明白我想要做什么,我想制作一个程序,就像在本视频结束时使用的程序,但我自己。

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

4 个答案:

答案 0 :(得分:0)

尝试将disp.text = [NSString stringWithFormat:@"%@", make];置于for循环之外,在其下面

答案 1 :(得分:0)

是的,它会显示**,因为每当你用这行替换textview的文本时循环执行

hashCode

要显示正确的字符串,您还需要在textview中附加该文本。像bellow你需要第一次检查disp.text,如果它是一个空白然后只是附加文本,其他明智地附加新的txt与\ n,它将在新行中附加文本。

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

}

我希望这会对你有所帮助。

答案 2 :(得分:0)

实际上你需要循环两次(这假定在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];

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

 }];