iphone - Get correct bounds for navigationItem.titleView layoutSubviews -
मेरे पास UIView
का उप-वर्ग है जिसे मैंने titleView < / Code> कोड का निम्न पंक्ति का उपयोग करके
नेविगेशन आईटम
का
self.navigationItem.titleView = tempview;
आसान पर्याप्त यह ठीक काम करता है मेरी समस्या यह है कि यह नेविगेशन आईटम
में कभी-कभी rightBarButton
अपडेट किया गया है (कभी कभी कोई बटन नहीं होता है, कभी-कभी एक मानक आकार बटन होता है, कभी-कभी एक बड़ा बटन होता है)।
मुझे लगता है कि मैं titleView
के रूप में जोड़ दिया है कि tempview
वर्ग की layoutSubviews
विधि का उपयोग कर सकते हैं इसलिए मैं इसे इस में डाल दिया:
- (शून्य) लेआउटस्विअ्यूज़ {[सुपर लेआउटस्विअ्यूज़]; Self.mylabel.frame = self.bounds; }
यह काम करने के लिए प्रतीत नहीं होता है, क्योंकि यह शीर्षक दृश्य का सही आकार नहीं है जब rightBarButton
आइटम अपडेट हो जाता है
मैंने यह भी गौर किया है कि एक बार जब वे छोटे हो गए हैं, तो वे आसानी से स्थिति बदलते हैं।
मैंने कोशिश की है setNeedsLayout
और लेआउटअनुक्रमित
लेकिन वे बस गलत सीमाओं के साथ दृश्य को "आकार बदलते हैं"।
मैंने यह भी सुनिश्चित किया है कि rightBarButton
वस्तु शून्य पर सेट है,
के साथ कॉन्फ़िगर करें [स्व सेटअटोरिसिंगमास्क: UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth];
(शायद initWithFrame में)
तब कार्यान्वित
- (शून्य) willMoveToSuperview: (UIView *) newSuperview {[स्व सेटफ़्रेम: [नईसूपरेव बाउंड]]; }
अब आप अपना दृश्य कंटेनर के आकार से मेल खाते हैं, और स्वत: आकार बदल रहे हैं।
Comments
Post a Comment