重新创建UIView.frame来移动它

时间:2009-09-01 18:40:49

标签: iphone objective-c cocoa-touch

我在IB中创建了一个UIImageView对象,并且有一个插座。我想移动它,但只改变y值,所以我有:

CGFloat x, w, h;
x = image.frame.origin.x;
w = image.frame.size.width;
h = image.frame.size.height;
image.frame = CGRectMake(x, /*formula to figure out new y value*/, w, h);

运行时,图像会消失。我是否必须运行一些代码或其他东西才能再次显示?我之前使用过这种方法,当ipod旋转时,将东西完全移动到新位置,并且有效。

使用NSLog(),我知道它获得的y值是正确的,而不是在屏幕外。

1 个答案:

答案 0 :(得分:1)

上面的代码看起来还不错,所以问题还有其他问题。您是否尝试在重置框架后将框架从UIView中取出,以确保该值仍然是您所期望的值?此外,您的应用中的其他任何地方的代码是否正在改变此UIView的状态(帧,不透明度,大小等)?