无法确定何时UIImageView帧是平等的

我有两层。 底层由隐藏的UIImageView组成,上层由可见的UIImageView组成。 当底层UIImageView的所有帧都等于上层UIImageView的帧时,你必须在NSLog看到。

问题是由NSTimer调用的布尔方法总是立即返回true,所以我看到NSLog 。 当所有相应的帧都相等时,我只想看到NSLog

这是我的代码:

 - (void)checkTheFrames { BOOL allEquals = [self isEqualFrames]; if (allEquals) { NSLog(@"ALL THE FRAMES ARE EQUAL"); [AllPosCorrectTimer invalidate]; } } -(BOOL)isEqualFrames { for(int i = 0; i < arrayImg.count; i++ ){ UIImageView *ImageView1 = arrayImg[i]; UIImageView *ImageView2 = HiddenFieldView[i]; if (!CGRectEqualToRect(ImageView1.frame, ImageView2.frame)) { return NO; } } return YES; } 

有没有办法解决这个问题?

我认为最近有什么不对的地方是你要比较Xs和Ys …也许你应该进一步去frame.size和比较它们。 或者可以轻松地比较宽度和高度(frame1.size.width == frame2.size.width)

让我知道如果这没有解决问题!