我将所有电路板UIImageViews
存储到一个可变数组中,'brds'(相交的那些)
for (UIImageView *board in boardImg){
if (CGRectIntersectsRect(image.frame, board.frame)) {
[brds addObject:board];
}
}
后来我在brds中找到了正确的电路板,例如索引1:然后我尝试使用那个兄弟的位置[1]。为什么我没有得到正确的x和y。它总是给我x = 0和y = 0我相信。左上角。
board1 = brds[1];
CGRect frame = image.frame;
frame.origin.x = board1.frame.origin.x;
frame.origin.y = board1.frame.origin.y;
image.frame = frame;
当我将imageview放入数组时,它是否存储坐标?
答案 0 :(得分:1)
您应该使用NSLog
检查您的阵列是否实际包含数据。它可能是null,你必须在添加对象之前初始化它。
答案 1 :(得分:0)
RGRect数据结构不是可重用的Objective-C对象。这意味着你无法修改它们。最简单的方法是为您的目的创建新的。
CGRect frame = CGRectMake(board1.frame.origin.x,
board1.frame.origin.y,
image.frame.size.width,
image.frame.size.height);
image.frame = frame;
答案 2 :(得分:-1)
不是board1 = brds[1];
brds不是一个C阵列,它是一个NSArray。使用board1 = [brds objectAtIndex:1];