2013-01-24 15 views
5

क्या आईओएस में UINavigationBar में फ़िट होने के लिए शीर्षक टेक्स्ट को कम करना संभव है।UINavigationBar शीर्षक लेबल टेक्स्ट

(पोर्ट्रेट आईफोन ऐप के लिए कोई ऑटोलायआउट नहीं है)।

मैं शीर्षक बार को गतिशील रूप से सेट कर रहा हूं लेकिन कभी-कभी पाठ बहुत लंबा होता है और फिलहाल यह इसे इलिप्सिस के साथ बंद कर देता है।

अर्थात "यह टी है ..."

मैं इसे पाठ के बजाय हटना चाहते हैं।

उत्तर

8

आप इसे बनाने के लिए अपना खुद का शीर्षक दृश्य बना सकते हैं।

कुछ इस तरह:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    //Do any additional setup after loading the view, typically from a nib. 
    UILabel *titleLabelView = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 40)]; //<<---- Actually will be auto-resized according to frame of navigation bar; 
    [titleLabelView setBackgroundColor:[UIColor clearColor]]; 
    [titleLabelView setTextAlignment: NSTextAlignmentCenter]; 
    [titleLabelView setTextColor:[UIColor whiteColor]]; 
    [titleLabelView setFont:[UIFont systemFontOfSize: 27]]; //<<--- Greatest font size 
    [titleLabelView setAdjustsFontSizeToFitWidth:YES]; //<<---- Allow shrink 
    // [titleLabelView setAdjustsLetterSpacingToFitWidth:YES]; //<<-- Another option for iOS 6+ 
    titleLabelView.text = @"This is a Title"; 

    navigationBar.topItem.titleView = titleLabelView; 

    //.... 
} 

आशा इस मदद करता है।

+0

धन्यवाद, मैं वास्तव में पहले से ही ऐसा कुछ करता हूं। UILabel पर एक श्रेणी का उपयोग करने के लिए इसे सभी दृश्य नियंत्रकों में जल्दी से बनाने के लिए। – Fogmeister

2
Xcode 7.1 - Swift 2.0 


//Adding Title Label 
     var navigationTitlelabel = UILabel(frame: CGRectMake(0, 0, 200, 21)) 
     navigationTitlelabel.center = CGPointMake(160, 284) 
     navigationTitlelabel.textAlignment = NSTextAlignment.Center 
     navigationTitlelabel.textColor = UIColor.whiteColor() 
     navigationTitlelabel.text = "WORK ORDER" 
     self.navigationController!.navigationBar.topItem!.titleView = navigationTitlelabel 
संबंधित मुद्दे