2015-09-28 8 views
8

एक बार फिर एक्सकोड आईबी अनावश्यक चेतावनियों के साथ डेवलपर्स को निराश करता है: मुझे लगता है कि मैं अपने एक्सकोड प्रोजेक्ट से इस चेतावनी को दूर नहीं कर सकता।एक्सकोड आईबी बेवकूफ चेतावनी

enter image description here

डबल चेतावनी यह मेरी MainMenu.xib फ़ाइल को लाता है लेकिन क्या समस्या पैदा कर रहा है के लिए कोई संदर्भ देता है पर क्लिक करें। कोई विचार?

संपादित करें:

मैं जनता के देखने के लिए मेरे .xib के बहुत नीचे छीन लिया है, लेकिन अभी भी बहुत कुछ वस्तुओं के साथ त्रुटि है। आप यहां फ़ाइल पा सकते हैं: https://www.dropbox.com/s/r2piuojr86dhlt9/MainMenu.xib?dl=0

+0

क्या आप इस चेतावनी को कुछ चेतावनियों को प्रदर्शित करने के लिए एक अलग नमूना प्रोजेक्ट बना सकते हैं? –

+0

@MichaelDautermann मैंने ऑब्जेक्ट्स को एक-एक करके हटाकर समस्या को अलग करने की कोशिश की है, लेकिन चेतावनी तब भी दिखाई देती है जब तक कि प्रत्येक ऑब्जेक्ट को –

+0

फ़ाइल से हटा दिया गया हो! यही कारण है कि मैं एक नमूना परियोजना को देखने की उम्मीद कर रहा था कि डेमो की समस्या है, तो मैं इसे आपके लिए (और हर कोई :-)) ढूंढने के लिए अपना हाथ आजमा सकता हूं। सबकुछ बाहर निकालें लेकिन xib में एक ऑब्जेक्ट (जहां चेतावनी अभी भी दिखाई देती है)। –

उत्तर

2

यह एक चेतावनी है जो एक्सकोड 7 से शुरू हुई है जब लेबल या टेबल व्यू कॉलम हेडर जैसे यूआई तत्व पुराने ओएस पर उपलब्ध फ़ॉन्ट शैली या भिन्नता का उपयोग करते हैं (और निश्चित रूप से आपका परियोजना अभी भी उन्हें लक्षित कर रही है)।

मेरी प्रोजेक्ट में एक टेबल व्यू कॉलम हेडर ओएस एक्स 10.9+ प्रोजेक्ट लक्ष्यीकरण पर नियमित रूप से "मध्यम" फ़ॉन्ट शैली भिन्नता के साथ सिस्टम फ़ॉन्ट का उपयोग कर रहा था।

अजीब बात यह है कि मुझे एक्सकोड को पुनरारंभ करना पड़ा क्योंकि इंटरफ़ेस बिल्डर ने नियंत्रण की शैली को बदलने से इंकार कर दिया था। संभवतः इस शुरुआती 7.0.1 एक्सकोड संस्करण की एक छोटी गड़बड़ी।

वैसे भी, प्रत्येक नियंत्रण शैली को Regular पर सेट करना या 10.11 पर अपना प्रोजेक्ट लक्ष्य बदलना चेतावनी को ठीक करना चाहिए।

0

एक बार फिर एक्सकोड आईबी अनावश्यक चेतावनियों के साथ डेवलपर्स को निराश करता है।

इसके बारे में भी वैसे ही महसूस किया, जब तक मैंने देखा कि मेरी टाइपोग्राफी 10.11 की तुलना में 10.10 में कैसे भिन्न होती है। एक बात सच है - एक समस्याग्रस्त स्टोरीबोर्ड आइटम को इंगित किए बिना संदेश बकवास है, अर्ध-कार्यवाही के लिए P.S section of the post देखें।

वर्तमान उत्तर लगभग इसे प्राप्त करता है, लेकिन पुराने लक्ष्यों में फ़ॉन्ट शैलियों अनुपलब्ध होने के साथ समस्या नहीं है, यह एक्सकोड के साथ ठीक से उन्हें संभालने के साथ नहीं है, विवरण के लिए full blog post देखें।

यदि आप अपनी शैलियों को रखना चाहते हैं, कस्टम निरीक्षण क्षेत्र के साथ कस्टम टेक्स्टफील्ड का उपयोग करें। पहचान निरीक्षक खोलें और कस्टम क्लास को टेक्स्टफिल्ड पर सेट करें, पसंदीदा फ़ॉन्ट वेट विशेषता विशेषता निरीक्षक में दिखाई देगी, आवश्यक मूल्य निर्धारित करें, परिणाम बनाएं और आनंद लें।

import AppKit 

@IBDesignable public class TextField: NSTextField 
{ 
    @IBInspectable public var preferredFontWeight: Int = 0 

    override public func awakeFromNib() { 
     if #available(OSX 10.11, *) { 
      return 
     } 

     guard 
     let weight: Int = self.preferredFontWeight where weight > 0, 
     let font: NSFont = self.font, 
     let name: String = font.familyName, 
     let manager: NSFontManager = NSFontManager.sharedFontManager() else { 
      return 
     } 


     // Full details here – https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSFontManager_Class/#//apple_ref/occ/instm/NSFontManager/convertWeight:ofFont: 
     // 
     // 1 – ultralight 
     // 2 – thin 
     // 3 – light, extralight 
     // 4 – book 
     // 5 – regular, display 
     // 6 – medium 
     // 7 – demi, demibold 
     // 8 – semi, semibold 
     // 9 – bold 
     // 10 – extra, extrabold 
     // 11 – heavy 
     // 12 – black 
     // 13 – ultrablack 
     // 14 – extrablack 

     if let font: NSFont = manager.fontWithFamily(name, traits: manager.traitsOfFont(font), weight: weight, size: font.pointSize) { 
      self.font = font 
     } 
    } 
} 

तुम सच में शैलियों के बारे में परवाह नहीं है, तो सभी पाठ के लिए नियमित रूप से वजन फ़ॉन्ट का उपयोग, यह समस्या को हल करना चाहिए, उपलब्ध विकल्पों के लिए मेरी पहले answer देखते हैं।

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