Removing the title text of an iOS UIBarButtonItem
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-60, -60)
forBarMetrics:UIBarMetricsDefault];
Then you can remove the back button item title.
If you use Storyboard, you can set navigation attributes inspector Back Button with space.
How can I remove the text from the navigation bar back item
Try this code snippet hope it will help you
happy coding =)
override func viewDidLoad() {
DispatchQueue.main.async {
if let navBar = self.navigationController?.navigationBar {
navBar.backItem?.title = ""
}
}
}
Back UIBarButtonItem appearance remove text and change image
There are three ways to do what you want.
I recommend: Create your own Navigation Class by extending and UINavigationController and override backbuttonItem (UIBarButtonItem) property to customise it according to your requirement. And use the same Navigation Controller class in your project.
Create a custom backBarButton by extending UIBarButtonItem and manually set the same as a back button of default Navigation Controller class, in all view controller.
Hide default navigation bar from root controller and create your own navigation bar using UIView and UIButton in all view controllers. (I always use this choice, that makes customization of navigation bar very easy for me. And I can set my view according to my requirement)
Remove the back button text
Try this function as extension
of UINavigationController
:
func setBackButtonTitle(_ title: String) {
if self.navigationBar.topItem != nil {
let leftBarButtonItem: UIBarButtonItem = UIBarButtonItem(title: title, style: UIBarButtonItem.Style.plain, target: self, action: #selector(self.backButtonAction))
self.navigationBar.topItem?.backBarButtonItem = leftBarButtonItem
} else {
if self.navigationBar.backItem != nil {
self.navigationBar.backItem?.title = title
}
}
}
How to remove all navigationbar back button title
If you want back arrow so following code put into AppDelegate
file into didFinishLaunchingWithOptions
method.
For Objective-C
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];
For Swift
let BarButtonItemAppearance = UIBarButtonItem.appearance()
BarButtonItemAppearance.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.clear], for: .normal)
Another option give below.
In Objective C
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
In Swift
self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)
UPDATE :
let BarButtonItemAppearance = UIBarButtonItem.appearance()
let attributes: [NSAttributedStringKey: Any] = [
BarButtonItemAppearance.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.clear], for: .normal)
NSAttributedStringKey.font: UIFont.systemFont(ofSize: 0.1),
NSAttributedStringKey.foregroundColor: UIColor.clear]
BarButtonItemAppearance.setTitleTextAttributes(attributes, for: .normal)
BarButtonItemAppearance.setTitleTextAttributes(attributes, for: .highlighted)
UPDATE SWIFT 4.1 :
let attributes = [NSAttributedStringKey.font: UIFont(name: "Helvetica-Bold", size: 0.1)!, NSAttributedStringKey.foregroundColor: UIColor.clear]
BarButtonItemAppearance.setTitleTextAttributes(attributes, for: .normal)
BarButtonItemAppearance.setTitleTextAttributes(attributes, for: .highlighted)
Using Offset
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(-1000, 0), for:UIBarMetrics.default)
Remove text from Back button keeping the icon
I know this already has an answer, but you can also do it in code (in case you're working with nibs)
navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
Add the above in the first view controller.
Note that you need to do this for each view controller that is pushing. So if you have 3 view controllers, and you want to remove the back text from all of them, you'll have to add the line in view controller 1 and 2.
Related Topics
Ios: What's the Fastest, Most Performant Way to Make a Screenshot Programmatically
Wrong Color in Interface Builder
Uitableview and Uiview with Keyboardwillshow
iOS - Uiimageview - How to Handle Uiimage Image Orientation
How to Get Unique Id in iOS Device
How to Achieve a "Clock Wipe"/ Radial Wipe Effect in iOS
Make a Uibutton Programmatically in Swift
How to Use Subscript and Superscript in Swift
Default Keyword in Swift Parameter
Why Are Didbegincontact Called Multiple Times
How to Initialize/Instantiate a Custom Uiview Class with a Xib File in Swift
How to Set the Opacity/Alpha of a Uiimage
Swift Equivalent to '[Nsdictionary Initwithobjects: Forkeys:]'
Difference Between Protocol and Delegates
Xcode 6.1 Missing Required Architecture X86_64 in File
iOS Background Audio Not Playing
Loading a Reusable Uitableviewcell from a Nib
Phonegap Cdvviewcontroller.H File Not Found When Archiving for iOS