Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7756209
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T12:45:49+00:00 2026-06-01T12:45:49+00:00

I am looking to replace the back button in the UINavigationController throughout my application.

  • 0

I am looking to replace the back button in the UINavigationController throughout my application. My requirements is that this back button be defined in one XIB and if possible, the code to set it is in one place.

I have seen various methods that set the property self.navigationItem.backBarButtonItem to be a UIBarButtomItem with the custom button as it’s view, e.g. [[UIBarButtonItem alloc] initWithCustomView:myButton];

My first thought was to create a global category (not sure if that’s the term, I’m new to Objective-C as you might have guessed) that implements ‘ViewDidLoad’ for all my UINavigationControllers, and setting this property. My problem is loading the XIB to this button that I create at runtime.

Does anyone have a suggestion on a neat way of doing this (I guess it must be a common thing to do, and I can’t imagine repeating code in all my screens). I have considered creating a UINavigationController subclass, however I wasn’t sure how this would effect my custom implementations of ViewDidLoad.

Any advice much appreciated. Also I need to target >= iOS4 (the appearance API is iOS5 only).

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-01T12:45:51+00:00Added an answer on June 1, 2026 at 12:45 pm

    I prefer to not force inheritance where possible so you could do this with two categories

    @interface UIViewController (backButtonAdditions)
    
    - (void)ps_addBackbutton;
    
    @end
    
    @implementation UIViewController (backButtonAdditions)
    
    - (void)ps_addBackbutton;
    {
        // add back button
    }
    
    @end
    

    @interface UINavigationController (backButtonAdditions)
    
    - (void)ps_pushViewController:(UIViewController *)viewController animated:(BOOL)animated;
    
    @end
    
    @implementation UINavigationController (backButtonAdditions)
    
    - (void)ps_pushViewController:(UIViewController *)viewController animated:(BOOL)animated;
    {
        [viewController ps_addBackbutton];
        [self pushViewController:viewController animated:animated];
    }
    
    @end
    

    Now #import these files as appropriate and instead of using

    [self.navigationController pushViewController:aViewController YES];
    

    use

    [self.navigationController ps_pushViewController:aViewController YES];
    

    Disclaimer

    I free styled this in the browser so you may need to tweak it

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am looking to replace a nasty shell script that uses awk to trim
I'm looking to replace AppEngine's devserver with spawning . Spawning handles standard wsgi handlers,
I'm looking to replace MRI with JRuby for some scripts. Would it be enough
We're looking to replace DataGridView in our Winforms app. What are the alternatives -
I am looking to replace the life cycle tools currently used by my development
We are looking to replace our normal Win2008 R2 File server with a Azure
Im looking for something like a search and replace functionality in Solr. I have
I am looking for a reliable method to replace a sequence of chars in
I am looking for a way to replace the SRC attribute in all IMG
I've been looking on google about this but I can't find a clear answer.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.