2012-05-01 27 views
32

-सिस्टमफॉन्टऑफसाइज बहुत पतला है, और बोल्ड सिस्टम सिस्टम बहुत मोटा है। मुझे कुछ के बीच की जरूरत है।क्या कोई मध्यम वजन फ़ॉन्ट है -सिस्टमफॉन्टऑफसाइज: और -बोल्ड सिस्टम सिस्टमफॉन्ट आकार :?

जब मैं इस तरह की एक UIFont बनाएँ:

[UIFont boldSystemFontOfSize:14]; 

तो डिबगर प्रिंट इस फ़ॉन्ट जानकारी:

font-family: ".Helvetica NeueUI"; फ़ॉन्ट-वेट: बोल्ड; फ़ॉन्ट शैली: सामान्य; फ़ॉन्ट आकार: 14 पीएक्स

कभी-कभी फोंट का मध्यम फ़ॉन्ट वजन होता है। मैं इस प्रकार का फ़ॉन्ट कैसे बना सकता हूं लेकिन मध्यम वजन के साथ?

उत्तर

24

NSLog(@"%@", [UIFont fontNamesForFamilyName:@"Helvetica Neue"]); प्रिंट कॉलिंग Helvetica Neue के लिए सभी उपलब्ध फ़ॉन्ट शैली, उन के बीच HelveticaNeue-Medium जो एक तरह लगता है आप चाहते हैं:

UIFont *font = [UIFont fontWithName:@"HelveticaNeue-Medium" size:14.0f]; 

आप यह सुनिश्चित करें कि फॉन्ट भी बदल जाता है जब सिस्टम फ़ॉन्ट परिवर्तन बनाना चाहते हैं (जैसे। चाहते यह Helvetica Neue को Helvetica से रेटिना उपकरणों के साथ किया था) आप पहली बार सिस्टम फ़ॉन्ट मिलता है और फिर उसके familyName और pointSize+ fontNamesForFamilyName और फिर + fontWithName:size:

+1

'boldSystemFontOfSize' पहले से ही उपयोग करता है हेलवेटिकाएयू-मध्यम ... – fabb

+0

यह यूआई संस्करण के समान सटीक फ़ॉन्ट नहीं है। मेरे अनुभव में यह कम से कम लंबवत रिक्ति विशेषताओं में भिन्न होता है और जब आप एक विशेषता स्ट्रिंग से आकार संपत्ति प्राप्त करते हैं तो एक अलग परिणाम देता है। –

+1

@ बेन-उरी जब मैंने उस उत्तर को लिखा था तो सिस्टम फ़ॉन्ट बदल गया है। आंद्रेई का जवाब अब और अधिक जगह है। – JustSid

71

startin का उपयोग कर मध्यम वजन के साथ एक को पुनः प्राप्त करने का समय लग सकता iOS 8.2 साथ जी आप का उपयोग कर सकते हैं:

[UIFont systemFontOfSize:14 weight:UIFontWeightMedium]; 
+1

ध्यान दें कि 'UIFontWeightMedium' एक CGFloat है, न कि – onmyway133

16

स्विफ्ट 2.0, xcode7.1

if #available(iOS 8.2, *) { 
    titleLabel?.font = UIFont.systemFontOfSize(15, weight: UIFontWeightMedium) 
} else { 
    titleLabel?.font = UIFont(name: "HelveticaNeue-Medium", size: 15) 
} 
+0

आईओएस 8.2 में क्या होता है यदि मैं if स्टेटमेंट का उपयोग नहीं करता हूं और मैं सिर्फ शीर्षक लेबल का उपयोग करता हूं? .font = UIFont (name: "HelveticaNeue-Medium", आकार: 15) – Jace

0

स्विफ्ट 2.3 और नहीं फ़ॉन्ट आकार बदल रहा है:

extension UIFont { 
    var mediumFont: UIFont { 
     return UIFont.systemFontOfSize(self.pointSize, weight: UIFontWeightMedium) 
    } 
} 

साथ उपयोग:

titleLabel.font = titleLabel.font.mediumFont 
4

स्विफ्ट 3:

UIFont.systemFont(ofSize: 14, weight: UIFontWeightMedium) 
0
स्विफ्ट 4 के साथ

, इस विस्तार

extension UIFont { 
    class func mediumSystemFont(ofSize pointSize:CGFloat) -> UIFont { 
     return self.systemFont(ofSize: pointSize, weight: .medium) 
    } 
} 

फिर जोड़ने:

myLabel.font = UIFont.mediumSystemFont(ofSize: 16) 

एक ही सिद्धांत SemiBold, काला, आदि के साथ काम करता है, जाँच UIFont.Weight