无法确定何时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)
让我知道如果这没有解决问题!