Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Set Text for Custom UIBarButtonItem

I need to set title for Custom UIBarButtonItem.

I've the following code:

UIButton* backToRecent = [UIButton buttonWithType:UIButtonTypeCustom];
[backToRecent setImage:[UIImage imageNamed:@"back.png"]forState:UIControlStateNormal];

[backToRecent addTarget:self action:@selector(backToRecent) forControlEvents:UIControlEventTouchUpInside];
[backToRecent setFrame:CGRectMake(0, 0, 60, 30)];

UIBarButtonItem* backButtonItem = [[UIBarButtonItem alloc]initWithCustomView:backToRecent];
[backButtonItem setTitle:@"Recent"];
partViewController.navigationItem.leftBarButtonItem = backButtonItem;
[backButtonItem release];

But the button appears without the "Recent" text.

like image 907
Muhammad Hewedy Avatar asked May 24 '12 08:05

Muhammad Hewedy


People also ask

How do I change my UIBarButtonItem text?

Select the UIBarButtonItem in Interface Builder , open the inspector (Command + Shift + I) , and select "Custom" under the dropdown next to Identifier .

How do I change the title of UIBarButtonItem in Swift?

In case you want to initialize UIBarButtonItem programmatically in Swift 4+ should be done as following: editButton = UIBarButtonItem(title: "Edit", style: . plain, target: self, action: #selector(editAct)).

What is UIBarButtonItem Swift?

A specialized button for placement on a toolbar, navigation bar, or shortcuts bar.


1 Answers

Muhammad, I suspect you have resolved this already, but here is an easy way. Hope this helps someone who is struggling with the same issue:

    UIBarButtonItem * backButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Recent" style:UIBarButtonItemStyleBordered target:self action:@selector(backToRecent)];
    self.navigationItem.leftBarButtonItem = backButtonItem;
like image 80
timv Avatar answered Sep 27 '22 17:09

timv