IOS 改变导航栏返回按钮的标题实例详解
程序员文章站
2024-02-13 19:32:58
ios 改变导航栏返回按钮的标题实例详解
前言:
下午又找到了一个新的方法 这个方法不错 暂时没有发现异常的地方。
新写的app中需要使...
ios 改变导航栏返回按钮的标题实例详解
前言:
下午又找到了一个新的方法 这个方法不错 暂时没有发现异常的地方。
新写的app中需要使用uinavigationcontroller对各个页面进行导航,但由于第一级页面的title较长,在进入第二级页面后返回按钮leftbuttonitem的title就会变得很长,对navigationbar空间占用很大,而且不美观,于是使用代码对leftbuttonitem的title文本进行修改,无论是设置self.navigationitem.leftbarbuttonitem.title = @"返回";还是self.navigationitem.backbarbuttonitem.title = @"返回";都没有效果,title文本始终不会发生变化。到网上乱搜一通后,得到了以下解决方法,相对来说比较简单,特记录如下:
在第一级页面的viewdidload方法中加入以下代码:
uibarbuttonitem *temporarybarbuttonitem = [[uibarbuttonitem alloc] init]; temporarybarbuttonitem.title = @"返回"; self.navigationitem.backbarbuttonitem = temporarybarbuttonitem; [temporarybarbuttonitem release];
也就是用一个新的按钮在进行导航前将原来的返回按钮替换掉就可以了。
可以如下设置 但是这样的缺点是那个按键会变成方形 可以添加图片来进行修改。
uibarbuttonitem *backbutton = [[uibarbuttonitem alloc] initwithtitle:@"back" style:uibarbuttonitemstylebordered target:self action:@selector(backtoprevious)]; self.navigationitem.leftbarbuttonitem = backbutton; [backbutton release]; - (void)backtoprevious { [self.navigationcontroller popviewcontrolleranimated:yes]; }
添加图片的相关代码如下
uibutton *leftbutton = [[uibuttonalloc] initwithframe:cgrectmake(0, 0, 60, 40)]; [leftbutton settitle:@"返回"forstate:uicontrolstatenormal]; [leftbutton setimage:[uiimageimagenamed:@"uinavigationbar.png"] forstate:uicontrolstatenormal]; [leftbutton setimage:[uiimageimagenamed:@"uinavigationbar.png"] forstate:uicontrolstatehighlighted]; [leftbutton addtarget:selfaction:@selector(leftaction:) forcontrolevents:uicontroleventtouchupinside]; uibarbuttonitem *leftitem = [[uibarbuttonitemalloc] initwithcustomview:leftbutton]; [leftbutton release]; self.navigationitem.leftbarbuttonitem = leftitem; [leftitem release];
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
推荐阅读
-
IOS 改变导航栏返回按钮的标题实例详解
-
iOS 封装导航栏及返回,获取控件所在控制器的实例
-
IOS 改变导航栏返回按钮的标题实例详解
-
iOS 封装导航栏及返回,获取控件所在控制器的实例
-
iOS 11 使用两种方法替换(Method Swizzling)去掉导航栏返回按钮的文字
-
iOS 11 使用两种方法替换(Method Swizzling)去掉导航栏返回按钮的文字
-
关于iOS导航栏返回按钮问题的解决方法
-
关于iOS导航栏返回按钮问题的解决方法
-
iOS 修改导航栏上返回按钮上的文字,例如把 back 修改为 返回
-
iOS 11 使用方法替换(Method Swizzling),去掉导航栏返回按钮的文字