Search code examples
objective-cioscocoa-touchipaduitoolbar

How to set max width of a UIBarButtonItem


I have a UIBarButtonItem in a UIToolbar that is updated with changes to a title represented by a text field. The text field should not have a short maximum length. When the title is quite long, the item occludes the button items to its right. How can I make it automatically truncate to a certain width? Interface Builder Simulator


Solution

  • Use a custom view with maximum possible width, textAlignment set to UITextAlignmentCenter and lineBreakMode to UILineBreakModeTailTruncation.

    UILabel* l = [[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 200, 20)]autorelease];
    //200 is just a number I choose. you should calculate your maximum possible value
    l.textAlignment = UITextAlignmentCenter;
    l.lineBreakMode = UILineBreakModeTailTruncation;
    self.navigationItem.titleView = l;