2012-05-04 20 views

उत्तर

38

समाधान:

UITabBarItem *item = [tabBar.items objectAtIndex:0]; 
item.titlePositionAdjustment = UIOffsetMake(0, -5.0); 
+1

आश्चर्यजनक रूप से तेज़ी से:' item.setTitlePositionAdjustment (UIOffsetMake (0, -5.0)) '(केवल सेटर फ़ंक्शन XCode 6.1 में उपलब्ध है) – Kasztan

+3

स्विफ्ट 2/एक्सकोड 7 में सेटर फ़ंक्शन समाप्त हो गया है और आप कर सकते हैं मूल्य निर्धारित करने के लिए सामान्य संपत्ति का उपयोग करें। 'item.titlePositionAdjustment = UIOffset (क्षैतिज: 0, लंबवत: 1000)' –

0

आप नहीं कर सकते ... आप इसके आस-पास अपना रास्ता हैक कर सकते हैं लेकिन यह आसान नहीं होगा और भविष्य में आईओएस अपडेट पर आपका ऐप तोड़ सकता है।

बेस्ट शर्त अपनी खुद की UITabBar सिस्टम बनाने के लिए किया जाएगा ... यहाँ एक अच्छा मार्गदर्शक आप पर एक नज़र ले सकता है ..

http://idevrecipes.com/2011/01/04/how-does-the-twitter-iphone-app-implement-a-custom-tab-bar/

+3

के लिए मैं इस समाधान पाया: UITabBarItem * आइटम = [tabBar.items objectAtIndex: 0]; item.titlePositionAdjustment = UIOffsetMake (0, -5.0); – CroiOS

+3

आह .. क्षमा करें, पिछली बार मैंने इस सुविधा की तलाश की थी, यह वहां नहीं था ... इसके लिए कक्षा संदर्भ पढ़ना अब आईओएस 5 + के लिए उपलब्ध है, ताकि आप यह जांचना चाहें कि फ़ंक्शन कॉल करने से पहले यह उपलब्ध है या नहीं ऐप को प्री-आईओएस 5 के साथ काम करने के लिए डिज़ाइन किया गया है ... आप ऐसा कर सकते हैं ... 'अगर ([आइटम प्रतिसाद देता है तो चयनकर्ता: @ चयनकर्ता (setTitlePositionAdjustment :)]) {item.titlePositionAdjustment = UIOffsetMake (0, -5.0); } ' – liamnichols

+0

बढ़िया, धन्यवाद :) – CroiOS

3

अद्यतन स्विफ्ट 3

इस कोड को अंदर रखें UITabBarController:

UITabBarItem.appearance().titlePositionAdjustment = UIOffset(horizontal: 0, vertical: -5) 

क्रेडिट चला जाता है Tim Brown

0

को आप tabbarItem.titlePositionAdjustment उपयोग कर सकते हैं समायोजित करने के लिए।

यदि आप इसके साथ और अधिक करना चाहते हैं तो टैबबारिटम सबव्यू एक्सेस करें और tabbar.subviews पर लेबल ढूंढें। उदाहरण

int i = 0; 
for (NSObject *view in self.tabBar.subviews) 
{ 
    MTLog(@"%@", view); 
    if ([view respondsToSelector:@selector(subviews)]) 
    { 
     for (NSObject *childView in ((UIView *)view).subviews) 
     { 
      if ([childView isKindOfClass:[UILabel class]]) 
      { 
       if (i > (titlesArray.count - 1)) 
        break; 
       UILabel *label = (UILabel *)childView; 
       NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:titlesArray[i] attributes:@{ 
                                      NSFontAttributeName:[UIFont systemFontOfSize:9] 
                                      }]; 

       NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init]; 
       [style setMinimumLineHeight:26]; 
       [style setAlignment:NSTextAlignmentRight]; 

       [attributedString addAttribute:NSParagraphStyleAttributeName 
             value:style 
             range:NSMakeRange(0, attributedString.length)]; 
       label.attributedText = attributedString; 
       i++; 
      } 

     } 
    } 


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