Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UINavigationBar顶部的UIViewController_Ios_Objective C - Fatal编程技术网

Ios UINavigationBar顶部的UIViewController

Ios UINavigationBar顶部的UIViewController,ios,objective-c,Ios,Objective C,我试图在所有内容的顶部添加自定义UIViewController,但不覆盖全屏(基本上是popover),如下所示: - (void) displayPopoverController: (UIViewController*) content; { [self addChildViewController:content]; content.view.frame = [self frameForContentController]; [sel

我试图在所有内容的顶部添加自定义
UIViewController
,但不覆盖全屏(基本上是popover),如下所示:

- (void) displayPopoverController: (UIViewController*) content;
{
   [self addChildViewController:content];                 
   content.view.frame = [self frameForContentController]; 
   [self.view addSubview:content.view];
   [content didMoveToParentViewController:self];          
}
一切正常,但不幸的是它在导航栏下面。因此,我决定向导航控制器添加
UIViewController
,如下所示:

- (void) displayPopoverController: (UIViewController*) content;
{
    [self.navigationController addChildViewController:content];
    content.view.frame = [self frameForContentController];
    [self.navigationController.view addSubview:content.view];
    [content didMoveToParentViewController:self.navigationController];
}
它起作用了,但有两个问题:

1) 添加popover时未调用
viewwillbeen
(仅调用
viewDidLoad

2) 如果我更改方向,我的popover会收到通知并调整到新方向,但它后面的
UIViewController
不会。只有在我删除popover后,它才会更新其视图

有没有办法修复1和2?也许有更好的方法(我不想在自定义
uipopoOverbackgroundView
中使用
UIPopoverController

我正在尝试在所有内容上添加自定义UIViewController,但不包括全屏

如果你能将自己局限于iOS 7,你的问题就结束了。您可以使用
presentViewController:
和自定义转换来执行您正试图执行的操作。在我看来,这是iOS 7最重要的新特性:您可以显示视图控制器的视图,仅部分覆盖主界面

看我的书;有关本书中的特定示例代码,请参见

另外,我现在在上发布了一个项目。它演示了如何使视图控制器呈现的视图仅部分覆盖界面,并演示了设备旋转对于所有可见视图(即,前面的视图和后面的视图)都能正常工作

我正在尝试在所有内容上添加自定义UIViewController,但不包括全屏

如果你能将自己局限于iOS 7,你的问题就结束了。您可以使用
presentViewController:
和自定义转换来执行您正试图执行的操作。在我看来,这是iOS 7最重要的新特性:您可以显示视图控制器的视图,仅部分覆盖主界面

看我的书;有关本书中的特定示例代码,请参见


另外,我现在在上发布了一个项目。它展示了如何使视图控制器显示的视图仅部分覆盖界面,还演示了设备旋转对于所有可见视图(即,前面的视图和后面的视图)都能正常工作。

在我看来,您应该进行自定义转换并以模式显示UIViewController


您可以在此处获得有关自定义UIViewController转换的帮助:

在我看来,您应该进行自定义转换并以模式显示UIViewController


您可以在此处获得有关自定义UIViewController转换的帮助:

@Skyler这是一件非常不同(而且不相关)的事情。我说的和薛山的回答是一样的。@sash没问题。谢谢你的点号。这确实是iOS 7的一个伟大(革命性)功能,但我怀疑它的重要性没有得到广泛的认可。但是,正如示例代码所示,它非常易于使用@斯凯勒:那是一件完全不同(而且毫不相干)的事情。我说的和薛山的回答是一样的。@sash没问题。谢谢你的点号。这确实是iOS 7的一个伟大(革命性)功能,但我怀疑它的重要性没有得到广泛的认可。但是,正如示例代码所示,它非常易于使用!