我正在制作一些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、宽度和高度。但相反,它将图像移回几乎初始位置。
我知道很多代码都丢失了,所以在 github 上查看 CGRect Utils。