Tag: uinavigationcontroller

如何保持导航栏消失与MSMessagesViewController – > UIContainerView – > UINavigationController – > UITableViewController?

我试图在iMessage应用程序(iOS 10)中放置一个带有表视图控制器的导航控制器。 当我将UINavigationController放在UIContainerView中的UIContainerView时,这似乎工作。 但是,在展开视图中,这会中断。 控制器已经消失的UINavigationBar 。 我该如何补救,或者我采取了错误的做法?

消失在UINavigationController中的TableViewController中的UISearchController

我做了一个UITableView控制器与UISearchBar作为表头。 然后我把这个View Controller作为根视图控制器embedded到一个UINavigationController中。 现在,当我点击search栏,SearchBar似乎消失,并显示一个白色的屏幕。 键盘出现,但没有search栏。 表视图可以滚动,但search栏已经消失。 当我没有导航控制器实现这个UITableViewController,它完美的作品。 但是关于导航控制器的一些事情正在让所有的事情都发生。

推送视图后,UINavigationController显示黑屏

我有一个导航控制器的故事板应用程序两个视图控制器(“A”,“B”)。 在Storyboard文件中:Navigationcontroller是初始视图控制器。 视图控制器“A”以rootcontroller连接到Navigationcontroller。 视图控制器“B”在故事板中,但没有连接到任何视图控制器。 当我以编程方式尝试从视图控制器'A'推视图控制器'B'到导航控制器: B *controllerB = [[B alloc] init]; [self.navigationController pushViewController:controllerB animated:YES]; 我所得到的只是过渡到黑屏。 我在运行时检查了视图控制器A中的navigationController属性,它不是零。 我没有自己实例化navigationController,我让故事板做的工作(也许这就是问题)。 但我认为应该可以“手动”将视图控制器推到故事板创build的导航控制器。 当我从故事板的button连接到“B”时,一切正常。 只有编程方式,它不起作用,只显示导航控制器内的黑屏。 也许有人可以帮我解决这个问题。

prefersStatusBarHidden不会被调用

我有一个标准的主要细节的应用程序,我试图有条件地显示/隐藏状态栏。 在MasterViewController中覆盖prefersStatusBarHidden()不会执行任何操作。 它甚至从来没有被调用。 override func prefersStatusBarHidden() -> Bool { return true } 在Info.plist中设置UIViewControllerBasedStatusBarAppearance没有帮助,可能是因为YES已经是默认值了。 调用setNeedsStatusBarAppearanceUpdate()也没有帮助。 我的目标是iOS 9。

isMovingToParentViewController总是为导航堆栈的根视图控制器返回FALSE?

什么是适当的方法来确定导航堆栈的根视图(顶层)控制器是否由于最初被呈现与被揭露而出现? iOS文档build议在viewWill / DidAppear中使用isMovingToParentViewController:做出这个决定。 这适用于在堆栈上推送的视图控制器,但是对于堆栈根视图控制器总是返回FALSE。 感谢您的帮助。

iOS的隐藏条纹背景颜色

当我用hidesBarsOnSwipe属性滑动并隐藏导航栏时,状态栏有一个清晰的背景。 如何将状态栏的背景设置为与导航栏相同的颜色? 这里有一些图片显示我的问题,这是所有包含在一个UITableViewController 。 分离 单独的图片,看起来像一个大的。

如何更改UINavigationBar的高度

这个问题使我瘫痪了一天。 我需要修改UINavigationBar的高度。 UINavigationController就像这样在AppDelegate中创build。 self.navigationController = [[UINavigationController alloc] initWithRootViewController:mainController]; [self.window addSubview:self.navigationController.view]; [self.window makeKeyAndVisible]; 如果我添加[self.navigationController.navigationBar setFrame:newFrame] viewDidAppear像下面的代码,导航栏的高度将更改和坚持。 – (void)viewWilAppear:(BOOL)animated { [super viewWillAppear:animated]; CGRect newFrame = CGRectMake(0, 0, 320, 100); [self.navigationController.navigationBar setFrame:newFrame] } 但是 ,如果我这样做,实际上可以看到框架从原始的44px到100px的高度在视图加载的瞬间,这是非常烦人的。 我已经尝试添加[navBar setFrame:] viewDidload , viewWillAppear的rootViewController,也是刚刚启动UINavigationController后的AppDelegate。 这些都没有工作。 只是所以你知道,我已经重写了一个UINavigationBar类别中的drawRect:(CGRect)rect方法,使用下面的代码将背景颜色变成纯黑色,但是我不认为这与问题有关。 [[UIColor blackColor] set]; CGContextFillRect(UIGraphicsGetCurrentContext(), rect); 有谁知道最好的方法来做到这一点?

将SearchBar添加到NavigationBar Objective-C iOS 9

我认为这个标题是非常自我解释的。 我有一个embedded在导航控制器中的tableView,并希望将一个search栏添加到导航栏。 我想在iOS 9中关于search栏控制器的东西发生了变化,所以请记住,这一定是针对iOS 9的。这就是我所拥有的。 毫无疑问,这是错误的。 UISearchController *searchController = [[UISearchController alloc]init]; self.searchController.searchBar.barTintColor = [UIColor whiteColor]; [self.navigationController addChildViewController:searchController];

UIViewController:extendedLayoutIncludesOpaqueBars和滚动视图偏移量

我的应用程序的视图层次结构非常简单:一个UINavigationController包含一个UITableViewController 。 导航控制器的导航栏是不透明的,导致在导航转换期间表格视图的一些奇怪的插入行为,如下所示: 为了解决这个问题,我在UITableViewController上设置了extendedLayoutIncludesOpaqueBars为true 。 这样做正确地扩展了导航栏下面的视图,但以我不太明白的方式更改了表视图的contentOffset的行为。 将此属性设置为true ,表视图的contentOffset的Y值报告它的偏移量应高于导航栏当前高度的偏移量(即滚动table view 1pt,则报告其y偏移量为-63pts)。 这让我觉得导航控制器自动pipe理滚动视图的contentInset ,就像它对半透明酒吧。 但是我看不到有任何证据表明scrollViewDidScroll()中的scroll view有内容插入。 即使在表格视图控制器上将automaticallyAdjustsScrollViewInsets设置为false ,内容偏移也是不正确的,所以看起来与插入无关。 Apple关于extendedLayoutIncludesOpaqueBars的文档没有提及滚动视图的内容偏移的行为。 更改表视图的contentInset不幸的是不能解决这个问题。 我试图改变表视图​​控制器的edgesForExtendedLayout属性强制它扩展而不影响滚动视图,但似乎这个属性是无力对不透明的酒吧。 是否有一些隐藏的行为与extendedLayoutIncludesOpaqueBars滚动视图的内容偏移量的extendedLayoutIncludesOpaqueBars ? 或者这可能是一个错误?

通过UINavigationViewController切换同级视图

我正在使用NavigationViewController在主视图和详细视图之间导航。 现在我想能够切换到兄弟细节视图,而不先显示主视图,我已经尝试做popViewController和pushViewController在相同的方法或popViewController在详细视图中,然后pushViewController mater的viewDidLoad后popViewController但它不会工作 – 视图只是返回到主视图,而不切换到细节。 任何想法该怎么办? 这里build议的解决scheme不能工作,据我所知: 切换内容视图问题