2012-03-21 24 views
8

मैं navigationController UI तत्व पूरे सिस्टम में अनुकूलित करने के लिए मेरी iOS5 अनुप्रयोग में एक स्वरूप प्रॉक्सी का उपयोग करने में सक्षम होने प्यार कर रहा हूँ, हालांकि:वैकल्पिक setFont

मैं नेस्टेड का एक बहुत है मेरे ऐप में टेबल, जिसमें से मैं सभी टेबल कोशिकाओं में फ़ॉन्ट को बदलने में सक्षम होना पसंद करूंगा। वे मुख्य रूप से स्थिर रूप से बनाए जाते हैं। मैंने कुछ सेल पीढ़ी को एक वर्ग के अंदर रखा है, जिसे सरणी से पढ़ा जा रहा है, लेकिन मुख्य मुद्दा इंटरफेस बिल्डर में पेश किए गए एक बड़े सामग्री अनुभाग के साथ है। ऐसा लगता है कि आईबी में मास-फ़ॉन्ट सेटिंग का विकल्प नहीं है।

मैं सोच रहा था कि कोई भी मुझे सभी यूआईटीबलसेल फोंट को एक बार में सेट करने का तरीका खोजने में मदद कर सकता है?

शायद की तरह कुछ:

[[UILabel appearance] setFont:[UIFont fontWithName:@"Times" size:17.00]; 

उत्तर

8

आप appearanceWhenContainedIn: का उपयोग जो UIViews आप के लिए उपस्थिति निर्धारित करना चाहते हैं को कम कर सकते हैं।

अपने उदाहरण में, कोशिश:

[[UILabel appearanceWhenContainedIn:[UITableViewCell class], nil] 
      setFont:[UIFont fontWithName:@"Times" size:17.00]]; 
+0

बहुत बहुत धन्यवाद - विशिष्ट तत्वों पर ध्यान केंद्रित करने का एक अच्छा तरीका - मैं आपकी प्रतिक्रिया की सराहना करता हूं! – Sarreph

+0

एक सहयोगी के साथ एक लंबे और गहन विचार-विमर्श के बाद वह सही ढंग से मुझे सूचित किया कि UILabel (अन्य वर्गों 'appearanceWhenContainedIn को जो * जवाब * बीच:') 'UIAppearance' प्रोटोकॉल के अनुरूप नहीं है, तो भले ही यह * काम * यह है हो सकता है अनियंत्रित और इसलिए पर भरोसा नहीं किया जाना चाहिए)। – NSTJ

+0

@ एनएसटीजे 'उइलाबेल' को 'UIView' से विरासत मिली है, जो' यूआईपीपीरेंस 'के अनुरूप है; Ergo 'UILabel' * *' UIAppearance' ~~ का पालन करती है, और इस विधि ~~ पर भरोसा किया जा सकता है। – Austin

2

असल में, नहीं। UILabel शैली बनाने के लिए UIAppearance का उपयोग करना मान्य नहीं है। my self-answered question here देखें। यह थोड़े काम करता है, लेकिन यह वहां पर उल्लिखित कारणों के लिए मान्य नहीं है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^