मेरे पास UIImageView
self.view
(मुख्य दृश्य) में है और इसके अंदर UIButton
है। मैं जानना चाहता हूं कि UIButton
का फ्रेम self.view
में UIImageView
में नहीं है।किसी अन्य दृश्य के अंदर दृश्य का फ्रेम कैसे प्राप्त करें?
उत्तर
मुझे लगता है कि आप इस विधि के लिए देख रहे
// Swift
let frame = imageView.convert(button.frame, to: self.view)
// Objective-C
CGRect frame = [imageView convertRect:button.frame toView:self.view];
ऐसा कुछ? पूरी तरह से गलत हो सकता है, सहारे वास्तव में यह माध्यम से thinkt, पी
CGRect frame = CGRectMake((self.view.frame.origin.x-imageview.frame.origin.x) +btn.frame.origin.x,
(self.view.frame.origin.y.imageview.frame.origin.y)+btn.frame.origin.y,
btn.frame.size.width,
btn.frame.size.height);
मैं अगर थेरेस किसी भी आसान तरीका है पता नहीं है।
चार UIView
तरीकों जो आपकी मदद कर सकता है, एक UIView
से CGPoints
और CGRects
परिवर्तित दूसरे करने के लिए संदर्भ समन्वय कर रहे हैं:
– convertPoint:toView:
– convertPoint:fromView:
– convertRect:toView:
– convertRect:fromView:
ताकि आप
आज़मा सकेंCGRect f = [imageView convertRect:button.frame toView:self.view];
या
CGRect f = [self.view convertRect:button.frame fromView:imageView];
स्विफ्ट 3
आप इस के साथ दृश्य की समन्वय प्रणाली के लिए बटन के फ्रेम में बदल सकते हैं:
self.view.convert(myButton.frame, from: myButton.superview)
अपने तर्क को viewDidLayoutSubviews
और viewDidLoad
के अंदर रखना सुनिश्चित करें। सबव्यूशन के बाद ज्यामिति से संबंधित संचालन किए जाने चाहिए, अन्यथा वे ठीक से काम नहीं कर सकते हैं।
class ViewController: UIViewController {
@IBOutlet weak var myImageView: UIImageView!
@IBOutlet weak var myButton: UIButton!
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
let buttonFrame = self.view.convert(myButton.frame, from: myButton.superview)
}
}
तुम बस संदर्भित कर सकते हैं myButton.superview
myImageView
के बजाय जब फ्रेम परिवर्तित।
यहाँ एक CGPoint
या CGRect
परिवर्तित करने के लिए और अधिक विकल्प हैं।
self.view.convert(point: CGPoint, from: UICoordinateSpace)
self.view.convert(point: CGPoint, from: UIView)
self.view.convert(rect: CGRect, from: UICoordinateSpace)
self.view.convert(rect: CGRect, from: UIView)
self.view.convert(point: CGPoint, to: UICoordinateSpace)
self.view.convert(point: CGPoint, to: UIView)
self.view.convert(rect: CGRect, to: UICoordinateSpace)
self.view.convert(rect: CGRect, to: UIView)
एक CGPoint
या CGRect
परिवर्तित करने के बारे में अधिक के लिए Apple Developer Docs देखें।
- 1. किसी अन्य दृश्य के अंदर एक दृश्य लोड करें
- 2. किसी अन्य सूची दृश्य के अंदर ListView
- 3. किसी अन्य दृश्य के पीछे एक दृश्य पर स्पर्श करें?
- 4. addSubview जोड़ा दृश्य के फ्रेम
- 5. एनएससीओलेक्शन व्यू के अंदर एक दृश्य का सूचकांक प्राप्त करें?
- 6. किसी अन्य xib में दृश्य के अंदर एक xib से UIViewController के दृश्य को कैसे एम्बेड करें?
- 7. कस्टम दृश्य के अंदर संदर्भ प्राप्त करना?
- 8. किसी अन्य दृश्य के नीचे छिपाने के लिए दृश्य को एनिमेट करने के लिए कैसे करें, और फिर उस दृश्य
- 9. ember.js किसी अन्य दृश्य से दृश्य को बदलना
- 10. किसी अन्य दृश्य कोडइनिटर 2.1 में दृश्य को लोड करने के लिए कैसे करें?
- 11. किसी गतिविधि में सभी दृश्य कैसे प्राप्त करें?
- 12. किसी अन्य नियंत्रक के दृश्य को प्रस्तुत करें
- 13. ListView आइटम का दृश्य कैसे प्राप्त करें?
- 14. ExtJS 4 किसी अन्य नियंत्रक/दृश्य से नया नियंत्रक/दृश्य कैसे बनाएं और प्रदर्शित करें?
- 15. दृश्य के फ्रेम और दृश्य के बीच अंतर + आईफोन
- 16. एंड्रॉइड में किसी ईवेंट निर्देशांक से दृश्य कैसे प्राप्त करें?
- 17. नियंत्रक के अंदर से आंशिक दृश्य का HTML प्राप्त करना
- 18. व्यू कंट्रोलर के अंदर, दृश्य दृश्य के अंदर तालिका दृश्य। ऐसा करने का सबसे अच्छा तरीका है?
- 19. रनऑनयूआई एक दृश्य के अंदर
- 20. एक दृश्य का मार्जिन प्राप्त करें
- 21. क्या कोई स्प्लिटव्यू किसी अन्य स्प्लिटव्यू के विस्तार दृश्य के अंदर लोड किया जा सकता है?
- 22. मोशनवेन्ट से अंतर्निहित दृश्य कैसे प्राप्त करें?
- 23. किसी अन्य दृश्य के तहत डायनामिक बटन कैसे जोड़ें?
- 24. एंड्रॉइड - दृश्य के दृश्य क्षेत्र को प्राप्त करें?
- 25. किसी अन्य दृश्य से ड्रैग किए गए दृश्य पर टच ईवेंट का पता लगाएं
- 26. किसी अन्य फ़ंक्शन के अंदर calc() का उपयोग कैसे करें
- 27. एंड्रॉइड एक प्रकार का दृश्य प्राप्त करें
- 28. अन्य नियंत्रक से आंशिक दृश्य प्रस्तुत करें
- 29. दृश्य से लेआउट प्राप्त करें
- 30. दृश्य संदर्भ के बाहर ModelMetadata कैसे प्राप्त करें?