Giter VIP home page Giter VIP logo

Comments (31)

JazysYu avatar JazysYu commented on July 24, 2024 1

已经更新了最新的代码。

from jznavigationextension.

JazysYu avatar JazysYu commented on July 24, 2024

如果你设置的jz_wantsNavigationBarVisible这个属性的话,要在push之前设置。

viewController1.jz_wantsNavigationBarVisible = false;
viewController2.jz_wantsNavigationBarVisible = true;
viewController1.navigationController pushTo....:viewController2....;

from jznavigationextension.

q351941406 avatar q351941406 commented on July 24, 2024

你这是隐藏A,显示B。我说的是显示A,隐藏B,然后push,push完成后想再把B显示出来就不行了

from jznavigationextension.

JazysYu avatar JazysYu commented on July 24, 2024

“push完成后想再把B显示出来” 调的哪个方法?

from jznavigationextension.

q351941406 avatar q351941406 commented on July 24, 2024

跟隐藏是同一个属性,YES or NO

from jznavigationextension.

JazysYu avatar JazysYu commented on July 24, 2024

我说了,如果你设置的jz_wantsNavigationBarVisible这个属性的话,要在push之前设置,"jz_wantsNavigationBarVisible"并不会强制隐藏导航栏,它只作用在每次push和pop的时候,如果你想要在当前的页面隐藏,直接调用系统的"setNavigationBarHidden:"。

from jznavigationextension.

fruitsw avatar fruitsw commented on July 24, 2024

A(有导航栏) push (到)B(隐藏了导航栏), B pop 到A 的时候A的导航栏隐藏了,感觉有点反人类啊,还是说这是一个bug

from jznavigationextension.

fruitsw avatar fruitsw commented on July 24, 2024

补充一下,这种情况是在没设置jz_wantsNavigationBarVisible的时候出现的

from jznavigationextension.

JazysYu avatar JazysYu commented on July 24, 2024

这个不是Bug哈。首先阐述一下系统行为:如果A Push 到 B,B把导航栏隐藏了,那么Pop到A的时候,如果A希望显示导航栏,就需要手动调用显示导航栏的方法,否则,当前导航栏是隐藏就隐藏,显示就显示。
在JZNavigationExtension里: 如果A Push 到 B,B把导航栏隐藏了,那么Pop到A的时候,如果A从来没有设置过jz_wantsNavigationBarVisible,那么就会走系统行为。这样做的原因是,不是所有控制器都希望Push或Pop以后默认显示导航栏,如果没有设置过这个方法,那么会和系统行为保持一致。

from jznavigationextension.

q351941406 avatar q351941406 commented on July 24, 2024

不是的,比误会我的意思了,我是说用JZNavigationExtension里任何隐藏Nav的方法,push之后,我不pop,就在B页面里再次把导航栏显示出来,结果是做不到的,希望作者能提供个方法,能够动态设置隐藏或显示,我想这是极好的。

from jznavigationextension.

JazysYu avatar JazysYu commented on July 24, 2024

按照你的说法目前我这里设置是没问题的。
"就在B页面里再次把导航栏显示出来",你是在B控制器的viewDidLoad里写的setNavigationBarHidden:NO吗?如果是在这里写的,我想到一种可能性是,你的viewDidLoad调用早于push或者pop之前,所以没起作用。

from jznavigationextension.

q351941406 avatar q351941406 commented on July 24, 2024

我是说用JZNavigationExtension里的方法不行,用系统的setNavigationBarHidden:NO当然可以隐藏,随时都可以

from jznavigationextension.

JazysYu avatar JazysYu commented on July 24, 2024

建议你仔细阅读一下我的回答。“ "jz_wantsNavigationBarVisible"并不会强制隐藏导航栏,它只作用在每次push和pop”

from jznavigationextension.

q351941406 avatar q351941406 commented on July 24, 2024

我当然知道,我说的是如果在这两个地方以外也能隐藏和显示更好了

from jznavigationextension.

fruitsw avatar fruitsw commented on July 24, 2024

感觉有时候系统行为不一定是最好的行为方式,可以强硬点,设置jz_wantsNavigationBarVisible=no就隐藏,不设置或jz_wantsNavigationBarVisible=yes就显示,不用让它只作用在每次push和pop”

from jznavigationextension.

JazysYu avatar JazysYu commented on July 24, 2024

@q351941406 @wanjinguo 嗯,我觉得你俩说的也有道理。因为这个属性最开始是效仿系统的"hidesBottomBarWhenPushed"的功能设计一点点过度过来的,但是从方便开发的角度讲,这种改进也许更好,我会尝试提交一个版本,供大家测试一下。

from jznavigationextension.

fruitsw avatar fruitsw commented on July 24, 2024

感觉和修改之前没有区别

from jznavigationextension.

JazysYu avatar JazysYu commented on July 24, 2024

还没有更新Pod哈。diff一下最新代码看看

from jznavigationextension.

fruitsw avatar fruitsw commented on July 24, 2024

就是最新的
2016-04-29 5 26 48

from jznavigationextension.

JazysYu avatar JazysYu commented on July 24, 2024

你在什么时候设置的,具体说一下?

from jznavigationextension.

fruitsw avatar fruitsw commented on July 24, 2024

A没设置,B设置为NO,C没设置,1. A显示->B隐藏->C隐藏 , 2. A显示->B隐藏->A隐藏, 都是在viewdidload里面设置的

from jznavigationextension.

JazysYu avatar JazysYu commented on July 24, 2024

不设置就会走系统行为,因为A、C中间隔了一个隐藏导航栏的B,所以A、C想要显示,需要设置。不同的项目里默认值是不确定的,不设置就为YES的话会有问题。

from jznavigationextension.

fruitsw avatar fruitsw commented on July 24, 2024

pod没更新前的描述This property may only be used during push/pop function called. Default is YES.还是感觉你之前版本的这个效果更符合大众的想法

from jznavigationextension.

JazysYu avatar JazysYu commented on July 24, 2024

你想想这样的场景:我只有root控制器想显示导航栏,之后连续有10个控制器都不想显示导航栏,这10个控制器互不相连但是都是push进去的。如果是之前不设置就为YES的话,你需要设置10次这个属性。现在的行为的话,你只需要把root控制器设置一次,然后Push过去的第一个控制器设置就一次就好了。之后的都会隐藏。也就是说,现在的行为,你只需要给显示与隐藏之间切换的控制器设置就可以了。

from jznavigationextension.

q351941406 avatar q351941406 commented on July 24, 2024

作者,请问你知道手机淘宝和知乎日报那种push方式是什么样的吗,感觉它们像是push了一个导航栏,而且好多app最近都用了这种push方式,请问是哪个第三方库的,能告知下吗?

from jznavigationextension.

JazysYu avatar JazysYu commented on July 24, 2024

他的push用的自定义的方式。其他三方库不太清楚,许多朋友跟我提到这个,最近我一直在开发这个功能。

from jznavigationextension.

q351941406 avatar q351941406 commented on July 24, 2024

我觉得不是自定义,因为太多app用了,所以肯定有个库的

from jznavigationextension.

JazysYu avatar JazysYu commented on July 24, 2024

JZNavigationExtension新版会集成这个功能。

from jznavigationextension.

q351941406 avatar q351941406 commented on July 24, 2024

这么屌,不可能吧

from jznavigationextension.

loveuqian avatar loveuqian commented on July 24, 2024

@JazysYu
不知道作者几时完成这个功能的集成呢

from jznavigationextension.

pinguo-zhangyusheng avatar pinguo-zhangyusheng commented on July 24, 2024

遇到了一个奇怪的问题,所以耽误了一些时间,最近在做测试,会在WWDC随后发版。

from jznavigationextension.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.