不能确定何时UIImageView的帧相等(Cannot determine when UIImag

2019-11-02 07:18发布

我有两层。 底层由隐藏UIImageView s时,上层由可见UIImageView秒。 当底层的所有帧UIImageView s为等于上层的帧UIImageView S,你必须看到,在一个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;
}

是否有解决这个问题的方法吗?

Answer 1:

我想,什么是错的,你比较X和Y太...也许你应该去进一步frame.size并加以比较。 或者,也许比较容易的宽度和高度(frame1.size.width == frame2.size.width)

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



文章来源: Cannot determine when UIImageView frames are equal