Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.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
Iphone 在横向模式下进入搜索栏时设置帧_Iphone - Fatal编程技术网

Iphone 在横向模式下进入搜索栏时设置帧

Iphone 在横向模式下进入搜索栏时设置帧,iphone,Iphone,在我的应用程序中,我正在使用视图控制器上导航栏下方的搜索栏。为了进行搜索,我使用了searchDisplay控制器。当我单击或点击搜索栏时,我的导航栏在导航栏的位置消失了,我的搜索栏出现了。而我的表视图只是稍微出现了一点。 在“searchDisplayControllerWillBeginSearch”方法中使用了以下内容: contentsTbView是我的表格视图。三件事表格视图、导航栏和搜索栏与界面生成器交互 问题是,这将在纵向模式下正常工作。但启动应用程序,我只需旋转并单击搜索栏。我的

在我的应用程序中,我正在使用视图控制器上导航栏下方的搜索栏。为了进行搜索,我使用了searchDisplay控制器。当我单击或点击搜索栏时,我的导航栏在导航栏的位置消失了,我的搜索栏出现了。而我的表视图只是稍微出现了一点。 在“searchDisplayControllerWillBeginSearch”方法中使用了以下内容:

contentsTbView是我的表格视图。三件事表格视图、导航栏和搜索栏与界面生成器交互

问题是,这将在纵向模式下正常工作。但启动应用程序,我只需旋转并单击搜索栏。我的导航栏向上移动。但我的搜索栏框架与纵向模式类似,即其宽度为768,而不是1004。
我使用了应该自动旋转、将旋转、uidevice通知和did rotate方法…但这些方法首先调用,然后调用“searchDisplayControllerWillBeginSearch”。在searchDisplayControllerWillBeginSearch方法下是否有我们调用的旋转方法

如果您必须在两种模式下运行应用程序,则直接在XIB中设置框架。有
自动调整大小的选项
。根据需要设置
自动调整大小
。框架根据横向或纵向自动设置

(void) searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller{
NSLog(@"enter query");
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.3];
if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
{

    [navBarAvtarBani setFrame:CGRectMake(0,-44,768, 44)];
    [contentsTbView setFrame:CGRectMake(0, 0, 768, 960)];
}   
else {

[navBarAvtarBani setFrame:CGRectMake(0, -44, 320, 44)]; 
[contentsTbView setFrame:CGRectMake(0, 0, 320, 416)];
}
[UIView commitAnimations];

}