【发布时间】:2013-07-28 07:30:14
【问题描述】:
我正在制作一些CGRect Utils 类和函数来帮助我们操作CGRect 和View 的框架。
我面临一个非常奇怪的问题。我有一张图片,我可以通过按一些按钮来移动它。
- (IBAction)heightPlusTen:(id)sender {
CGRectAddHeightToView(myView, 10);
}
CGRectAddHeightToView 只是一个#define,它可以被替换为:
- (IBAction)heightPlusTen:(id)sender {
myView.frame = CGRectMake( myView.frame.origin.x,
myView.frame.origin.y,
myView.frame.size.width,
myView.frame.size.height+10 );
}
到目前为止,图像正在移动。一切看起来都很好......
直到我运行这段代码:
- (IBAction)updatePosition:(id)sender {
xLabel.text = [NSString stringWithFormat:@"%.0f", duck.frame.origin.x];
yLabel.text = [NSString stringWithFormat:@"%.0f", duck.frame.origin.y];
wLabel.text = [NSString stringWithFormat:@"%.0f", duck.frame.size.width];
hLabel.text = [NSString stringWithFormat:@"%.0f", duck.frame.size.height];
}
假设在屏幕上显示 x,y,width 和 height。但它会将图像移回它几乎的初始位置。
我知道很多代码都丢失了,所以请查看CGRect Utils on github。
【问题讨论】:
标签: iphone ios objective-c ipad