我一直在搜索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”代替视图解决了问题。
见到你!