दो CGRects की तुलना करें


95

मुझे ध्यान देना चाहिए कि मेरे दृश्य का फ्रेम एक दिए गए CGRect के बराबर है। मैंने ऐसा करने की कोशिश की:

CGRect rect = CGRectMake(20, 20, 20, 20);
if (self.view.frame == rect)
{
    // do some stuff
}

हालाँकि, मुझे यह कहते हुए एक त्रुटि हुई Invalid operands to binary expression('CGRect' (aka 'struct CGRect') and 'CGRect')। मैं केवल दो CGRectएस की तुलना क्यों नहीं कर सकता ?

जवाबों:


250

इसे इस्तेमाल करो:

if (CGRectEqualToRect(self.view.frame, rect)) {
     // do some stuff
}



2

स्विफ्ट में बस ==या !=ऑपरेटरों का उपयोग मेरे लिए काम करता है:

    let rect = CGRect(x: 0, y: 0, width: 20, height: 20)

    if rect != CGRect(x: 0, y: 0, width: 20, height: 21) {
        print("not equal")
    }

    if rect == CGRect(x: 0, y: 0, width: 20, height: 20) {
        print("equal")
    }

डिबग कंसोल प्रिंट:

not equal
equal
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.