if (!_CGSizeEqualToSize(size, aRect.size)) [self tile];
instead of
if (_CGSizeEqualToSize(size, aRect.size)) [self tile];
Thanks!