के अंदर है या नहीं, यह सत्यापित करने का कोई तरीका है कि CGPoint
एक विशिष्ट CGRect
के अंदर है या नहीं। उदाहरण के लिए: मैं UIImageView
खींच रहा हूं और मैं यह सत्यापित करना चाहता हूं कि इसका केंद्रीय बिंदु CGPoint
अन्य UIImageView
के अंदर है, तो मैं कैसे कर सकता हूं?आईओएस: सत्यापित करें कि कोई बिंदु
उत्तर
प्रलेखन में CGRectContainsPoint()
देखें।
bool CGRectContainsPoint(CGRect rect, CGPoint point);
पैरामीटर
rect
आयत जांच करने के लिए।point
जांच करने के लिए बिंदु। रिटर्न वैल्यू सत्य अगर आयताकार शून्य या खाली नहीं है और बिंदु आयताकार के भीतर स्थित है; अन्यथा, झूठी।
आयत के अंदर एक बिंदु माना जाता है यदि इसके निर्देशांक आयत के अंदर या न्यूनतम एक्स या न्यूनतम वाई किनारे पर हैं।
UIView का बिंदु इनसाइड: साथ: एक अच्छा समाधान हो सकता है। एक बुलियन मान वापस गीला संकेत देगा या नहीं दिया गया दिया गया CGPoint UIView उदाहरण में है जिसका आप उपयोग कर रहे हैं। उदाहरण:
UIView *aView = [UIView alloc]initWithFrame:CGRectMake(0,0,100,100);
CGPoint aPoint = CGPointMake(5,5);
BOOL isPointInsideView = [aView pointInside:aPoint withEvent:nil];
यह बहुत आसान है, तो आप निम्न विधि इस तरह का काम करने के लिए उपयोग कर सकते हैं है: -
-(BOOL)isPoint:(CGPoint)point insideOfRect:(CGRect)rect
{
if (CGRectContainsPoint(rect,point))
return YES;// inside
else
return NO;// outside
}
आपके मामले में, आप imagView.center बिंदु के रूप में पारित कर सकते हैं और एक और imagView.frame विधि के बारे में संदर्भ के रूप में।
तुम भी विधि bellow UITouch में इस विधि का उपयोग कर सकते हैं:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
}
स्विफ्ट में है कि इस तरह दिखेगा:
let point = CGPointMake(20,20)
let someFrame = CGRectMake(10,10,100,100)
let isPointInFrame = CGRectContainsPoint(someFrame, point)
स्विफ्ट 3 संस्करण:
let point = CGPointMake(20,20)
let someFrame = CGRectMake(10,10,100,100)
let isPointInFrame = someFrame.contains(point)
Link to documentation। रोकथाम की जाँच करने के लिए कृपया याद रखें अगर दोनों एक ही समन्वय प्रणाली में हैं नहीं तो फिर रूपांतरण के लिए आवश्यक हैं (some example)
धन्यवाद बहुत स्पष्ट –
तेजी में आप इसे इस तरह कर सकते हैं:
let isPointInFrame = frame.contains(point)
"फ्रेम" एक CGRect और "है बिंदु "एक CGPoint
उद्देश्य सी में आप उपयोग कर सकते हैं CGRectContainsPoint (yourview.frame, संपर्क सूत्र)
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
UITouch* touch = [touches anyObject];
CGPoint touchpoint = [touch locationInView:self.view];
if(CGRectContainsPoint(yourview.frame, touchpoint)) {
}else{
}}
है
तेजी से 3 yourview.frame में।शामिल (संपर्क सूत्र)
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch:UITouch = touches.first!
let touchpoint:CGPoint = touch.location(in: self.view)
if wheel.frame.contains(touchpoint) {
}else{
}
}
- 1. आईओएस: सत्यापित करें कि कोई स्ट्रिंग एक खाली स्ट्रिंग है
- 2. सत्यापित करें कि आईफोन
- 3. पता लगाएं कि कोई बिंदु MKPolygon ओवरले
- 4. सत्यापित करें कि किसी टैगलिब
- 5. Moq - सत्यापित करें कि कोई तरीकों कहा जाता था
- 6. कोको/उद्देश्य-सी - सत्यापित करें कि कोई कुंजी NSDictionary
- 7. यह पता लगाना कि कोई बिंदु त्रिभुज
- 8. आईओएस में केंद्र बिंदु
- 9. CGContextAddLineToPoint: कोई मौजूदा बिंदु
- 10. jquery: सत्यापित करें कि टेक्स्ट फ़ील्ड संख्यात्मक
- 11. कैपिम - सत्यापित करें कि हस्ताक्षरित कोड यूआई
- 12. सत्यापित करें कि Url: सिम्फोनी में //
- 13. आईओएस में चार बिंदु ढाल
- 14. कोई शून्य दशमलव बिंदु
- 15. पहचानें कि कोई बिंदु बहुभुज के भीतर है या नहीं?
- 16. कोई स्कीमा "org.eclipse.ui.menus" विस्तार बिंदु
- 17. JTextField को कैसे सत्यापित करें?
- 18. सत्यापित करें कि सभी टेक्स्ट इनपुट फ़ील्ड सेलेनियम
- 19. सत्यापित करें कि ऑब्जेक्ट पहले से ही एंटीटी फ्रेमवर्क संदर्भ
- 20. सत्यापित करें कि मेरा node.js उदाहरण dev या उत्पादन
- 21. यह सत्यापित करना कि स्मृति को
- 22. सत्यापित करें कि कोई स्ट्रिंग पायथन में JSON है या नहीं?
- 23. सत्यापित करें कि कोई प्रतिनिधि किसी चयनकर्ता को क्या प्रतिसाद देता है?
- 24. कैसे सत्यापित करें कि कोई प्रकार किसी निश्चित ऑपरेटर को ओवरलोड/समर्थन करता है या नहीं?
- 25. सत्यापित करें कि यूनिट परीक्षणों से मेल भेजा गया था
- 26. इनो सेटअप: सत्यापित करें कि .NET 4.0 स्थापित है
- 27. पायथन सत्यापित करें कि यूआरएल एक पृष्ठ पर जाता है
- 28. लिनक्स + सत्यापित करें कि फ़ाइल टेक्स्ट या बाइनरी है
- 29. मॉकिटो - सत्यापित करें कि किसी भी सहयोगी के तरीकों को
- 30. मैं कैसे सत्यापित करूं कि सेलेनियम 2
लापता लिंक;) https://developer.apple.com/library/mac/#documentation/graphicsimaging/reference/CGGeometry/Reference/reference.html – ezekielDFM
मुझे समय की बचत। धन्यवाद – HamasN
धन्यवाद एक टन ... –