I have a refresh button that executes a function to initiate a request and receive a response. While it’s parsing the response I’m changing my last updated text to keep the user informed on what is going on. I’m hoping though to have the refresh button become the uiactivityindicator while the “procedure” is running. How can I accomplish this? Here is a screenshot of my storyboard to help you get and idea of the setup. Let me know if I can provide anything else. Thanks!

Image below shows how I created the bottom bar through the simulated metrics drop down list to the right.

EDIT:
Here is the altered code I used from the marked answer.
// Create UIActivityIndicator UIBarButtonItem
UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
[activityView startAnimating];
UIBarButtonItem *loadingView = [[UIBarButtonItem alloc] initWithCustomView:activityView];
// Toolbar with LoadingView and LastUpdatedTitle with Flex Spacing
[self.navigationController.toolbar setItems:(NSArray *)[NSArray arrayWithObjects: loadingView, self.flexSpaceOne, self.lastUpdated, self.flexSpaceTwo, nil]];
When I wanted to change it back I simply “reset” my items using the same setItems:arrayWithObjets: method. Except that time I would change out the loadingview with self.refreshButton.
Define some ivars to access your toolbar and its items:
Then, in your method where you kick off the task,
Then do the reverse when it is done to add your refresh button again.