आप जो भी सीधे चाहते हैं वह नहीं कर सकते हैं - आपके शीर्षक दृश्य की स्थिति आपके नियंत्रण से बाहर है (जब UINavigationBar
द्वारा प्रबंधित की जाती है)।
हालांकि, वहाँ कम से कम दो रणनीतियों प्रभाव आप चाहते हैं पाने के लिए कर रहे हैं:
1) नहीं नेविगेशन बार की 'उचित' शीर्षक दृश्य के रूप में शीर्षक दृश्य जोड़े, लेकिन UINavigationBar
की एक subview के रूप। (ध्यान दें: यह 'आधिकारिक तौर पर' स्वीकृत नहीं है, लेकिन मैंने इसे देखा है, और काम करते हैं। जाहिर है आपको बटन के अपने शीर्षक लेबल ओवरराइटिंग बिट्स के लिए देखना होगा, और अलग-अलग ओरिएंटेशन आदि के लिए विभिन्न आकार के एनएवी बारों को संभालना होगा। - थोड़ा सा झुकाव।)
2) एक बुद्धिमान UIView सबक्लास बनाएं जो एक दिए गए सबव्यू (जो आपका यूआईएलएबल होगा) प्रदर्शित करता है, जो स्क्रीन पर केंद्रित पूरी तरह से सबव्यूव को प्रभावी ढंग से दिखाने के लिए गणना की जाती है। ऐसा करने के लिए, आपका बुद्धिमान UIView सबक्लास लेबल सबव्यूव की स्थिति (frame
) को बदलकर लेआउट ईवेंट (या frame
संपत्ति परिवर्तन इत्यादि) का जवाब देगा।
व्यक्तिगत रूप से, मुझे दृष्टिकोण 2 का विचार पसंद है) सबसे अच्छा।
मैं भी यह दो लाइन के साथ काम किया टाइटल एक छोटा फ़ॉन्ट और नंबरऑफलाइन = 2 सेट करते हैं जब शीर्षक की लंबाई 25 वर्णों से बड़ी होती है। इस तरह आपके पास एक बहु-पंक्ति शीर्षक लेबल है। –
इसके अलावा, यह कहना भूल गया कि 'वांछित विड्थ' की गणना में कोड को 'titleLabel.frame.size.height' की बजाय 'शीर्षक हाइट' का संदर्भ देना चाहिए, जो' CGRectZero' निर्माण के कारण शून्य होगा। –
महान जवाब! मुझे एक टन समय बचाया – Julius