प्राप्त करना मेरे पास UITableView में UITableView सेल में UIButton है। परिणाम इसमें बटन के साथ एक सूची है। जब UIButton दबाया जाता है, तो यह एक touchUpInside विधि को कॉल करता है, और सब बढ़िया है। मुझे इसमें समस्याएं आ रही हैं कि जब मैं दबाया जाता हूं तो बटन के स्थान (फ्रेम) से नया दृश्य ज़ूम करना चाहता हूं। मैं सिर्फ UIButtonUITableViewCell में एक UIButton और सीमाएं/फ्रेम
origButton.frame
की सीमा से मिलता है, तो यह UITableCell, 3,50,40,25 की तरह कुछ के निर्देशांक में है। सूची में सभी बटनों के लिए यह वही है, इसलिए कोई फर्क नहीं पड़ता कि सूची में कौन सा बटन दबाया जाता है, फिर मुझे इन निर्देशांक मिलते हैं। अब, अगर मैं वास्तव में मेरे विचार
self.frame
जब touchUpInside विधि कहा जाता है के निर्देशांक प्राप्त, मैं और अधिक प्रयोग करने योग्य कुछ मिलता है। मैं फिर अपने सेल के निर्देशांक प्राप्त करता हूं। महान!! इसलिए मैं UIButton से एक नया दृश्य ज़ूम कर सकता हूं। महान!!
लेकिन यहां समस्या है: यदि आप सूची को स्क्रॉल करते हैं, तो बटन टैप करें, दृश्य बटन से नहीं बल्कि स्क्रीन के नीचे एक स्थान से ज़ूम आउट करता है। समस्या यह है कि मेरे पास निर्देशांक सेल के लिए हैं, इससे पहले कि यह स्क्रॉल हो जाए। असल में सभी कोशिकाओं के लिए सभी निर्देशांक तालिका में अपने वास्तविक स्थानों को प्रतिबिंबित करते हैं, केवल पहले दृश्यमान सेट के निर्देशांक के साथ ही। स्क्रॉलिंग ने इन निर्देशांकों को नहीं बदला है।
मैंने सोचा कि शायद मैं सुपर व्यू के निर्देशांक का उपयोग कर सकता हूं, लेकिन उनको कोई मदद नहीं है।
कोई भी जानता है कि तालिका में सूचीबद्ध बटन (या विचार या कोई अन्य आइटम) के लिए सटीक निर्देशांक कैसे प्राप्त करें, या यह संभव नहीं है?
floatingView.center = CGPointMake(origButton.frame.origin.x +
origButton.frame.size.width/2,
self.frame.origin.y + self.superview.frame.origin.y);
धन्यवाद:
यहाँ कैसे मैं अपने नए दृश्य के केन्द्र बिंदु की गणना है!
जब मैंने यह देखा तो मुझे बहुत उत्साहित हो गया। हालांकि लौटे निर्देशांक स्वयं के लिए समान हैं। फ्रेम। (मैंने UITableViewCell को उपclass किया है, और मेरी UIButton की स्पर्श विधि subclass के भीतर है।) उपरोक्त self.frame के लिए एक ड्रॉप-इन प्रतिस्थापन था। 0,158,32,480 एक सेल पर क्लिक और नीचे: 0,222,32,480 तालिका स्क्रॉल नीचे कोशिकाओं प्रकट करने के लिए, और फिर तालिका के पहले "पृष्ठ" में एक सेल पर क्लिक करना: यहाँ मूल्यों का एक उदाहरण है एक पर क्लिक करें: 0,2238,32,480 कोई अन्य विचार? – mahboudz
मैंने –
खाते में इसे लेने के लिए उत्तर अपडेट किया। बस! यहां मैंने जिस तरह से इसका इस्तेमाल किया है: सीजीआरईटी सेलफ्रेम = [self.superview convertRect: self.frame toView: tableViewController.view]; – mahboudz