美文网首页iOSiOS开发资源程序员
iOS开发拾记 -- 隐藏/去掉导航栏返回按钮文字 &

iOS开发拾记 -- 隐藏/去掉导航栏返回按钮文字 &

作者: 荒剑离 | 来源:发表于2016-01-27 16:32 被阅读8320次

隐藏/去掉导航栏返回按钮文字

// 方法一
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];

// 方法二 - 注意此法需要在前一界面内设置
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@""
                                                                         style:UIBarButtonItemStylePlain
                                                                        target:self
                                                                        action:nil];

http://stackoverflow.com/questions/19078995/removing-the-title-text-of-an-ios-7-uibarbuttonitem

键盘可能遮挡输入框时的视图上移

效果示例
// SSJLogin.m
/** 在UITextField编辑之前调用方法 **/
- (void)textFieldDidBeginEditing:(UITextField *)textField {
    // 视图上移
    [SSJGeneralTool animationOfTextField:textField isUp:YES withDistance:TEXTFIELD_MOVEDISTANCE inView:self.view];
}

/** 在UITextField编辑完成调用方法 **/
- (void)textFieldDidEndEditing:(UITextField *)textField {
    // 视图下移
    [SSJGeneralTool animationOfTextField:textField isUp:NO withDistance:TEXTFIELD_MOVEDISTANCE inView:self.view];
}

// SSJGeneralTool.m
+ (void)animationOfTextField:(UITextField *)textField isUp:(BOOL)up withDistance:(NSInteger)distance inView:(UIView *)view {

    //  设置视图实际上移距离
    NSInteger moveDistance = (up ?  -distance : distance );

    [UIView beginAnimations:@"Animation" context:nil];

    [UIView setAnimationBeginsFromCurrentState:YES];

    [UIView setAnimationDuration:0.20];

    view.frame = CGRectOffset(view.frame, 0, moveDistance);

    [UIView commitAnimations];
}

提示:此处考虑项目通用需求,将视图移动作为通用类方法,所以根据你的需求,也可以直接写在应用此方法的文件,比如像此处的SSJLogin.m

相关文章

网友评论

  • Zz7777777:但是还有一个问题 如果我发现我的键盘高度没有遮挡住textfield 他也会上移动
  • 混不吝丶:我是监听了 键盘弹出的通知 做的处理 。 不过感觉你这个方法可以写一个父类,封装起来,比较省事:smile:
    荒剑离:@混不吝丶 :+1:
  • ios_tht:然而我的还是会有,哎。
  • 启迪:我在写登录的时候遇到一个问题,点击textfield弹起键盘并设置了offset,这时候点击注册跳转页面再返回,会出现view偏移后又回到初始位置的问题,请问这个该怎么解决呢?
    荒剑离:@启迪 抱歉,大概能懂你的意思,但不太清楚是为什么...
    启迪:@jxfactor 我的代码就像你文中写的那样,在textFieldDidBeginEditing和textFieldDidEndEditing代理方法中写视图上移和下移操作.在登录页面点击用户名输入框-键盘弹起,视图上移->点击注册按钮-跳转到注册页面-调用textFieldDidEndEditing->返回登录页面-光标还在用户名输入框-调用textFieldDidBeginEditing-视图上移.但是随后页面又自动产生了视图下移的动作
    荒剑离:@启迪 这个偏移是出现在从注册页到登录界面吧 应该是在viewWillAppear或者viewDidAppear中有设置文本框焦点函数 说得很泛 还是 Show me your code

本文标题:iOS开发拾记 -- 隐藏/去掉导航栏返回按钮文字 &

本文链接:https://www.haomeiwen.com/subject/bvndkttx.html