在视图控制器上动态创建标签使其在Xcode中重置

时间:2012-11-21 02:35:16

标签: xcode reset addsubview

我一直在搜索addsubview函数,我发现有人说该函数的使用实际上会让视图控制器重置自己,当然还有所有以前创建的对象。

这是我的代码:

- (IBAction)CrearEst:(id)sender {
    for(int i=0; i< 10; i++)
    {
        float x = arc4random() %300;
        //float x = arc4random() %300;
        UILabel *estrella = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 4, 4)];
        estrella.tag = i;
        estrella.center = CGPointMake(x,100);
        estrella.text = @".";
        estrella.textColor = [UIColor whiteColor];
        [self.view insertSubview:(estrella) atIndex: 0];
    }
}

这很好用,但问题是,就像我之前说过的,所有以前创建的对象,它的位置都被重置,所以当我移动我的角色并执行该功能时,该对象回到中间屏幕一次又一次。

如果实际上还有另一种方式,我会很高兴听到它!

解决方案:我发现经过几个小时的尝试后,解决方案是将“self.view”替换为“self.view.superview”,这样你就会有类似的东西

[self.view.superview insertSubview:(estrella) atIndex: 0]

使用“superview”代替视图解决了问题。

见到你!

0 个答案:

没有答案