Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在UILabel中按顺序显示字符串中的字符?_Iphone_Ios_Uilabel - Fatal编程技术网

Iphone 如何在UILabel中按顺序显示字符串中的字符?

Iphone 如何在UILabel中按顺序显示字符串中的字符?,iphone,ios,uilabel,Iphone,Ios,Uilabel,在UILabel中,是否可以显示一个字符串,以便逐个字符进行填充?例如,如果标签文本是IPHONE,我想显示I,然后是IP,然后是IPH,一直显示到IPHONE 我怎么能让标签以这种方式显示文本?这只是一个示例,只是一个用动画逐个显示文本的逻辑 首先添加带bellow框架的UILable,然后设置类似bellow的文本 yourLable.frame = CGRectMake(0, 112, 0, yourLable.frame.size.height); yourLable.text =

在UILabel中,是否可以显示一个字符串,以便逐个字符进行填充?例如,如果标签文本是IPHONE,我想显示I,然后是IP,然后是IPH,一直显示到IPHONE


我怎么能让标签以这种方式显示文本?

这只是一个示例,只是一个用动画逐个显示文本的逻辑

首先添加带bellow框架的UILable,然后设置类似bellow的文本

 yourLable.frame = CGRectMake(0, 112, 0, yourLable.frame.size.height); 
 yourLable.text = @"IPHONE";
之后,当您想要显示UILable时,调用下面的方法


这只是一个示例,只是一个用动画逐个显示文本的逻辑

首先添加带bellow框架的UILable,然后设置类似bellow的文本

 yourLable.frame = CGRectMake(0, 112, 0, yourLable.frame.size.height); 
 yourLable.text = @"IPHONE";
之后,当您想要显示UILable时,调用下面的方法


因此,您希望显示字符串的第一个字母,然后在一段时间后显示其第二个字母,等等。解决方案:使用一个定期调用方法的计时器;该方法将适当地设置文本:

NSString *theTextToDisplay = @"Hello world!";

[NSTimer scheduledTimerWithTimeInterval:0.33
                                 target:self
                               selector:@selector(timerShoot:)
                               userInfo:nil
                                repeats:YES];

- (void)timerShoot:(NSTimer *)tmr
{
    static int pos = 1;
    theUILabel.text = [theTextToDisplay substringToIndex:pos];
    if (++pos > theTextToDisplay.length) {
        [tmr invalidate];
    }
}

因此,您希望显示字符串的第一个字母,然后在一段时间后显示其第二个字母,等等。解决方案:使用一个定期调用方法的计时器;该方法将适当地设置文本:

NSString *theTextToDisplay = @"Hello world!";

[NSTimer scheduledTimerWithTimeInterval:0.33
                                 target:self
                               selector:@selector(timerShoot:)
                               userInfo:nil
                                repeats:YES];

- (void)timerShoot:(NSTimer *)tmr
{
    static int pos = 1;
    theUILabel.text = [theTextToDisplay substringToIndex:pos];
    if (++pos > theTextToDisplay.length) {
        [tmr invalidate];
    }
}

你一个一个地展示它们是什么意思?如果标签文本是IPHONE,首先是I,然后是IP,然后是IPH,然后是IPHO,然后是IPHON,然后是IPHONE@h2co3,你一个一个地展示它们是什么意思?如果标签文本是IPHONE,首先是I,然后是IP,然后是IPH,然后是IPHO,然后是IPHON,然后是IPHONE@h2co3。谢谢你。当动画标签向上移动时,是否可以停止tat移动可能是您可以在该方法之外设置帧,或者在使用线程调用该方法之后,否则您可以直接设置所需的帧,但是静态的,而不是动态的。对于动态的,您可以设置逻辑。它正在工作。谢谢。当动画标签向上移动时,是否可以停止tat移动可能是您可以在该方法之外设置帧,或者在使用线程调用该方法之后,否则您可以直接设置所需的帧,但是静态的,而不是动态的。对于动态的,您可以设置逻辑。只是一个后续问题。如果文本跨越两行,是否有方法对其进行换行?@tbag是的,请检查UILabel的numberOfLines属性的文档。只需检查文档即可。那么仅仅将numberOfLines设置为0就可以了?谢谢我会试试看。@tbag是的,您可能还想将标签的高度设置为合理的高度。只是一个后续问题。如果文本跨越两行,是否有方法对其进行换行?@tbag是的,请检查UILabel的numberOfLines属性的文档。只需检查文档即可。那么仅仅将numberOfLines设置为0就可以了?谢谢我将尝试一下。@tbag是的,您可能还希望将标签的高度设置为合理的高度。