相关疑难解决方法(0)

如何向下滚动隐藏导航栏和工具栏?Swift(喜欢myBridge应用程序)

我想在向下滚动页面时隐藏工具栏和导航栏.当我向上滚动时返回它.这怎么可能?

我该如何检测阻力?我是否使用平移手势或滚动视图?

uinavigationbar uitoolbar ios swift

25
推荐指数
5
解决办法
3万
查看次数

在iOS 7中动画UINavigationBar(如Safari)

在Safari中滚动内容时,标题栏会动画显示其自身的较小版本.实现这个的最佳方法是什么?

目前,我正在改变框架的大小,如下所示:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    //
    //  Table view
    //
    CGFloat currentPosition = scrollView.contentOffset.y - CGRectGetHeight(self.tableView.tableHeaderView.frame) + CGRectGetHeight(self.navigationController.navigationBar.frame) + CGRectGetHeight([[UIApplication sharedApplication] statusBarFrame]);

    if ([scrollView isKindOfClass:[HeadlinesHeadlinesTableView class]]) {
        ScrollDirection scrollDirection;

        if (self.lastContentOffset > scrollView.contentOffset.y) {
            scrollDirection = ScrollDirectionDown;
        } else if (self.lastContentOffset < scrollView.contentOffset.y) {
            scrollDirection = ScrollDirectionUp;
        }

        self.lastContentOffset = scrollView.contentOffset.y;

        CGRect frame = self.navigationController.navigationBar.frame;
        CGFloat minimumFrameHeight = 30.0f;
        CGFloat maximumFrameHeight = 44.0f;

        CGFloat titleSize = [[self.navigationController.navigationBar.titleTextAttributes objectForKey:NSFontAttributeName] pointSize];
        CGFloat minimumTitleHeight = 22.0f;
        CGFloat maximumTitleHeight = 30.0f;

        if (currentPosition …
Run Code Online (Sandbox Code Playgroud)

uinavigationbar uianimation ios7

12
推荐指数
1
解决办法
6326
查看次数

显示/隐藏UIToolbar,"匹配手指移动",就像在iOS7 Safari中一样

注意:在这里查看Thuy的UINavBar的优秀子类:

/sf/answers/1450425161/

如果你正在解决这个问题,GTScrollNavigationBar接近现成的navBar问题解决方案!


这里50点恩惠,惊人的没有答案.

例如:在2014年的iPhone上,打开Safari,加载任何网页.

查看底部的iOS工具栏.

现在只需移动几个像素就可以上下移动手指.

在此输入图像描述

基本上底部的工具栏会随着手指移动.此外,当您按照特定逻辑滚动页面时,工具栏稍后会出现/消失.

但是交互规则非常复杂,并且在隐藏期间涉及手指开/关,距离匹配,当您在页面下方时的手势,非常短页面的特殊情况等等.

我想要完全复制Apple的行为.

(我们应该与Apple UX相匹配似乎是明智的.)

有没有办法做到这一点?Apple是否为此提供了一个一步的命令,我不知道?或者您是否必须费力地复制这个概念?

谢谢.

顺便说一句,以下逻辑是可靠的,并将大致复制 Apple的方式:

-(void)feedIsScrolled:(CGFloat)scrollNewOverallYPosition
{
// call this routine when scrollViewDidScroll:

self.feedIsScrolledDelta =
 scrollNewOverallYPosition - self.feedIsScrolledPrevious;
self.feedIsScrolledPrevious =
 scrollNewOverallYPosition;

// nb, you do those only in this routine, NOT the following routine.

if ( scrollNewOverallYPosition < 15.0 )
    {
    .. animate in the bar
    return;
    }

if ( self.feedIsScrolledDelta > 0.0 ) …
Run Code Online (Sandbox Code Playgroud)

uiscrollview uitoolbar uigesturerecognizer ios7

11
推荐指数
1
解决办法
7819
查看次数

模仿iOS 7 Safari Nav-Bar

在iOS7中,Safari中的navigationBar会在滚动时自动缩小.Facebook中的navigationBar也是如此,甚至到了它完全消失的程度.

你会如何自己实现这种行为?我猜你也必须动态调整contentOffset,我猜这也会与默认的Refresh Control冲突,不是吗?

safari facebook ios

8
推荐指数
1
解决办法
2715
查看次数

关于initWithNavigationBarClass的困惑 - 如何使用(new instanceType方法)

这非常有效:

UINavigationController *nc =
    [[UINavigationController alloc]
    initWithNavigationBarClass:[GTScrollNavigationBar class]
    toolbarClass:[UIToolbar class]];
nc.viewControllers = @[firstPage];
self.window.rootViewController = nc;
Run Code Online (Sandbox Code Playgroud)

但是这并不能正常工作:

UINavigationController *nc =
    [[UINavigationController alloc]
    initWithNavigationBarClass:[GTScrollNavigationBar class]
    toolbarClass:[UIToolbar class]];
self.window.rootViewController = nc;
self.window.rootViewController.viewControllers = @[firstPage]; // ERROR
Run Code Online (Sandbox Code Playgroud)

怎么会这样?谢谢

uinavigationcontroller ios instancetype

5
推荐指数
1
解决办法
1434
查看次数

Xcode:隐藏导航栏时摆脱黑条

脚本

我有一个应用程序,允许用户向上滚动UITableView来查看帖子.当它们向上滚动时,导航栏将隐藏.我使用以下SO帖子中的代码...

模仿iOS 7 Facebook隐藏/显示扩展/收缩导航栏

问题

当我在那里尝试第一个答案时,它第一次使用它,完美地工作.在我把它带到它正在工作的地方后,我试图让我的Tab Bar也下降.当我烦躁地使用我的代码时,我一定要搞砸了.因为现在当我运行相同的代码时,我得到的这个黑条不会消失.

未滚动(正常)

在此输入图像描述

向上滚动(留下丑陋的黑条)

在此输入图像描述

我也尝试了什么

GTScrollNavigationBar和TLYShyNavBar

而且他们都离开黑条也......

有谁知道如何解决这一问题?

uitableview ios

3
推荐指数
1
解决办法
2789
查看次数