2016-08-04 12 views
9

सेट करने के बाद अधिक आइटम दिखाई देता है मेरे पास मेरे ऐप में एक टैब बार है, और टैब बार आइटम UITabBarItem के उप-वर्ग हैं।आईओएस 10 UITabBar शीर्षक

[self setTitle:@"SomeText"]; 

एक बार इस लाइन चलाता है, टैब बार आइटम है कि पहले (अधिक टैब के पीछे) छिपे हुए थे दिखाई में बन: सर्वर से एक अद्यतन प्राप्त करने में कठिनाई के बाद, इन टैब बार आइटम इस लाइन का उपयोग कर कोड से उनके शीर्षक सेट मुख्य टैब क्षेत्र, और अन्य टैब के शीर्ष पर ढेर। नीचे स्क्रीनशॉट देखें। यह केवल आईओएस 10 (बीटा) में होता है। क्या यह मेरे कोड में एक बग है या आईओएस 10 में कोई समस्या है?

मैं एक न्यूनतम XCode प्रोजेक्ट बनाया है और इस मुद्दे को प्रदर्शित करने के लिए Github को पोस्ट किया है: https://github.com/RippleAdder/TabStacks

enter image description here

+1

इस मुद्दे पर ऐप्पल के साथ एक बग रिपोर्ट खोल दी गई https://openradar.appspot.com/27749026 – Crake

उत्तर

4

यह तब होता है किसी भी समय मैंने पुष्टि की है कि यह एक है आप प्रोग्राम आईओएस से 10 में एक टैब के शीर्षक सेट आईओएस 10 बीटा में बग। openradar.appspot.com/27749026

मैं भी एक Github रेपो कि इस मुद्दे को दर्शाता है पोस्ट किया है:: मैं एक बग रिपोर्ट और रडार खोला है https://github.com/RippleAdder/TabStacks

5

यह जवाब आपके विशेष मामले का समाधान नहीं होगा, लेकिन साथ दूसरों की मदद कर सकता है एक ही समस्या।

समस्या तब दिखाई देती है जब आप शीर्षक सेट करने के लिए UIViewControllers टैबबार Item प्रॉपर्टी का उपयोग कर रहे हैं। UITabBarController टैबबार संपत्ति का उपयोग करने के बजाय समस्या को हल करना चाहिए।

तो (उदाहरण के लिए) के बजाय

:

tabBarController.viewControllers[0].tabBarItem.title = @"SomeText"; 

उपयोग:

tabBarController.tabBar.items[0].title = @"SomeText"; 

अद्यतन

हम पता चला कि UITabBarItem की जगह इस आईओएस 10 बग के लिए एक और समाधान नहीं है:

UITabBarItem *item = tabBarController.viewControllers[0].tabBarItem; 
tabBarController.viewControllers[0].tabBarItem = [[UITabBarItem alloc] initWithTitle:@"SomeText" image:item.image tag:item.tag]; 
0

ले जाएँ

self.title = @"SomeText";

से

- (void)awakeFromNib {}

- (void)viewDidLoad {} 
+0

दृश्य लोड के बाद गतिशील रूप से पाठ सेट करने की आवश्यकता है, सर्वर एपीआई प्रतिक्रिया के आधार पर जो किसी भी समय आ सकता है – Crake

1
एक समस्या मैं था एक दृश्य नियंत्रक में था

करने के लिए self.title = @"Title" के साथ एक शीर्षक की स्थापना tabBarItem शीर्षक का कारण होगा बदलने के लिए और इस सवाल में बदसूरत बग का कारण बनता है। मैंने इसे self.navigationItem.title = @"Title" में बदल दिया यह समस्या को ठीक करने लग रहा था।

1

मैंने इस पर अधिक समय बिताया है कि मुझे इसके बारे में सोचना पसंद है।

लेकिन वैकल्पिक हल है कि मेरे लिए तय कोड है, जिसमें मैं बनाने के चारों ओर और वास्तव में एक सरल dispatch_async

dispatch_async(dispatch_get_main_queue(), { 
    //your code here 
} 

साथ मुख्य थ्रेड पर UITabBarItems पेश जैसा कि मैंने कहा, सबसे अच्छा समाधान नहीं हो सकता है था , लेकिन अंत में वह वास्तव में काम करता था।

आशा है कि ऐप्पल जल्द ही इसे ठीक करेगा।