Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

导航条显示问题 #52

Closed
4 tasks done
wanhmr opened this issue Feb 17, 2017 · 19 comments
Closed
4 tasks done

导航条显示问题 #52

wanhmr opened this issue Feb 17, 2017 · 19 comments

Comments

@wanhmr
Copy link
Contributor

wanhmr commented Feb 17, 2017

运行环境

  • iOS 设备:iPhone
  • 系统版本:iOS 10.2.1
  • Xcode 版本:8.2 (8C38)
  • QMUI iOS 版本:1.2(CocoaPods)

具体问题描述

  • 当我使用 UITableViewConTroller (实现了 QMUINavigationControllerDelegate 协议, 其实和是没有实现这个协议没关系) 的时候,如果使用了优化导航栏在转场时的样式 feature 的话,由于不知道什么原因,虽然执行了添加 TransitionNavigationBar 的代码,但 并没有添加成功,而又对原本的导航栏进行了隐藏,导致看到了 黑色 的背景

  • 但是换成其他控制器却没有这个问题

问题截图

2017-02-17 11 07 28

@wanhmr
Copy link
Contributor Author

wanhmr commented Feb 17, 2017

这里前一个控制器实现了

- (BOOL)shouldCustomNavigationBarTransitionWhenPushDisappearing {
    return YES;
}

@zhoon
Copy link
Collaborator

zhoon commented Feb 18, 2017

@wanhmr 查了一下,这里确实有bug,我们看看怎么修复,建议可以先用QMUICommonTableViewController

@wanhmr
Copy link
Contributor Author

wanhmr commented Feb 18, 2017

@zhoon 尴尬的是这里使用 SB 弄的,所以。。。因为 UITableViewController 能方便拖控件。。。

@LimingZou
Copy link

有个请求 能让导航功能在多做些优化么 自定义常见的导航栏随着scrollview的滚动渐变还是有问题的 我把内部方法改了才把这个bug解决的

@LimingZou
Copy link

如果可以可以将 基类QMUICommonViewController里面的公用方法提出到协议的形式或分类的形式 因为有些类继承了别的类 但是别的类又是利用cocopods管理的 不易去改 所以会导致这些类不能用QMUICommonViewController的方法

@zhoon
Copy link
Collaborator

zhoon commented Feb 22, 2017

@LimingZou

自定义常见的导航栏随着scrollview的滚动渐变还是有问题的

能否把问题描述的具体一点?

@zhoon
Copy link
Collaborator

zhoon commented Feb 22, 2017

@LimingZou QMUICommonViewController 的问题,我们也有想过,几个controller的基类有些东西很难通过协议的形式或分类的形式来做,所以最后才考虑用继承。

@LimingZou
Copy link

@zhoon 谢谢你的回复 第一个问题就是 导航的alpha值随着视图滚动渐变的效果 目前考虑实现么 我自己实现了 但是要改动你们的代码(不想去改动,因为用cocopods管理的)

@MoLice
Copy link
Collaborator

MoLice commented Feb 23, 2017

@LimingZou 如果要做那种效果,并不需要做到 QMUI 里来?你应该可以用组合的形式在一个工具类里实现,再应用到每个界面,或者用继承的方式在你业务自己的基类里实现也可以。

@LimingZou
Copy link

@MoLice 目前我是这样做的 在需要实现这个效果的界面自己创建一个了UINavigationBar 与系统的毫无关系

@MoLice
Copy link
Collaborator

MoLice commented Feb 23, 2017

@LimingZou 近期我们可能也会考虑把这种效果的控件以独立的方式放到 Github 上,配合 QMUI 即可使用,届时会告知你,有空可以参考。

@LimingZou
Copy link

@MoLice 好的 还有相册里后期可以播放video么

@zhoon
Copy link
Collaborator

zhoon commented Feb 23, 2017

@LimingZou 相册后面我们正在考虑支持视频

@CodeRabbitYu
Copy link

@LimingZou 你是怎么解决渐变色导航条的?可以交流一下吗。

@zhoon
Copy link
Collaborator

zhoon commented Mar 1, 2017

@wanhmr 导航栏黑色背景的问题已经在1.3.1中修复了,请再试一试看看

@wanhmr
Copy link
Contributor Author

wanhmr commented Mar 2, 2017

@zhoon 还是有问题,周末我仔细看一下。在手势返回 UITableViewController 的时候,这个即将显示的控制器导航条这里依旧是黑乎乎的。

@zhoon
Copy link
Collaborator

zhoon commented Mar 2, 2017

@wanhmr 你有更新最新的1.3.1代码吗?周末我们的代码还没更新呢,昨天才更新的。

@wanhmr
Copy link
Contributor Author

wanhmr commented Mar 2, 2017

@zhoon 是最新的1.3.1。哈哈,我的意思是,这个周末我看一下。谢谢,话说开源真的是太爽了,UI 本来就是最痛苦的,现在好爽,感谢感谢。不过使用过程中还是有一些问题,比如我在 autolayout 的情况下使用 FillButton 就会出现点一次才会是正确的圆角,因为

- (void)layoutSublayersOfLayer:(CALayer *)layer

这个方法好像一开始没有执行,
不过由于目前项目太赶,没有时间深究很多东西,只能抛出来给你啦。
再一次感谢🙏

@hughkli
Copy link
Collaborator

hughkli commented Mar 3, 2017

@wanhmr 你好,关于你提到的 QMUIFillButton 的 bug 我没有重现出来,麻烦你有时间时帮忙确认一下你的 QMUIFillButton 的 setCornerRadius: 方法实现里有没有 [self setNeedsLayout] 这一句?
(也就是这一句:
https://github.com/QMUI/QMUI_iOS/blob/master/QMUIKit/UIKitExtensions/QMUIButton.m#L1151

如果有这一句的话,你使用 AutoLayout 的方式是使用代码创建约束,还是通过 storyBoard 拖拽的方式呢?我努力看看怎么能重现出来…

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants