相关疑难解决方法(0)

iOS 7状态栏与NavigationBar发生碰撞

我的应用程序中有一个视图控制器,在故事板中拖动了导航栏.它在iOS 6中运行良好,但在iOS 7中它看起来像这样:

ios 7状态栏nav var

状态栏和导航栏不应相互冲突.我已经看到很多关于堆栈溢出的问题,但它们对我没什么帮助.

有些问题说我应该使用这个"self.edgesForExtendedLayout = UIRectEdgeNone;" 但它不起作用.有人说我应该删除导航栏并将其嵌入导航控制器中,由于我的程序实现方式,我无法做到这一点.一些解决方案建议使用视图边界,但它对我来说也不起作用.

有什么能帮助我解决这个问题.提前致谢!

更新:我已将视图控制器嵌入到uinavigation控制器中.删除了之前手动添加的导航栏.现在它在故事板中看起来不错,但是当我运行它时,它显示以下内容:

iOS 7导航状态栏

它显示来自其后面的另一个视图控制器的文本,即其父视图控制器.意味着它现在透明.谁能指出我做错了什么?

objective-c uinavigationbar uinavigationcontroller ios ios7

47
推荐指数
2
解决办法
6万
查看次数

显示/隐藏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 UIToolBar覆盖状态栏

我已将我的项目从iOS 6升级到iOS 7,但似乎有一点问题.状态栏和工具栏是重叠的,彼此非常接近.之前通过在故事板中手动拖动工具栏来添加工具栏.这是它出现的方式:

工具栏

我已经看到一些问题,建议使用"positionForBar:"和" - (UIBarPosition)positionForBar:(id)bar"但我不确切知道如何使用它们,一点点解释和简单的方法可能会这样做救命.谢谢!

更新:以下是一些还需要修复的代码.它工作得很好,但由于detailviewcontroller(WebViewController)现在嵌入在导航控制器中,下面的代码导致异常.看起来我需要修改此方法中的第一行.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

        WebViewController *wvc = [self.navigationController.parentViewController childViewControllers][1];
        RSSItem *entry = [[channel items] objectAtIndex:[indexPath row]];
        wvc.title = entry.title;
        wvc.urlString = entry.link;   
}
Run Code Online (Sandbox Code Playgroud)

objective-c uitoolbar ipad ios ios7

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

状态栏重叠iOS7中的内容

使用iOS7,我放在状态栏下方的工具栏已与状态栏合并

在此输入图像描述

但当我将工具栏向下移动20px时,它看起来就像

在此输入图像描述

如何才能获得第一张图片的效果(状态栏与工具栏颜色相同),但不能将其与状态栏合并.或者这应该在iOS7中以不同方式完成?

objective-c uiviewcontroller ios

7
推荐指数
1
解决办法
7083
查看次数