我正在制作一个iPhone应用程序,并且我制作了一种方法,该方法可以以编程方式创建一个新的UIImageView
,而且效果很好(很好。
每当调用该方法时,我在情节提要中创建的所有其他UIImageView
都会刷新,这意味着它们都将放回到我最初在情节提要上放置的位置(它们应该随机移动)
继承人的方法
- (UIImageView *)shootNewBullet {
UIImageView *newBullet = [[UIImageView alloc] initWithFrame:CGRectMake(80, playerShip.center.y,15,3)];
newBullet.Image=[UIImage imageNamed: @"bullet2.png"];
newBullet.hidden = NO;
[bulletArray addObject:newBullet];
[self.view addSubview:newBullet];
return newBullet;
}
heres where the method gets called
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self.view];
if (point.x > 101) {
bullets = [self shootNewBullet];
}
}
如果需要更多代码才能给出良好答案,请告诉我
最佳答案
这可能是使用自动布局的结果(您可以在IB中将其关闭以查看是否存在问题)。使用自动版式时,不应设置任何框架。如果这样做,则需要重新绘制视图时,所有框架都将重置为约束定义的框架。如果要保持自动布局打开,则应通过修改约束而不是直接设置框架来更改大小或位置。