在我的应用程序中,我正在使用我的视图控制器上导航栏下方的搜索栏。搜索以便使用searchDisplay控制器。当我点击或点按搜索栏时,我的导航栏只是在某个地方消失了导航栏我的搜索栏出现了。我的桌面视图略有上升。 这个东西在方法“searchDisplayControllerWillBeginSearch”中使用,如:
(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];
}
contentsTbView是我的表视图。表视图,导航栏和搜索栏三个内容与界面构建器进行交互。
问题是,这将在纵向模式下很好用。但是启动应用程序,我旋转并点击搜索栏。我的导航栏向上移动。但我的搜索栏框架就像是纵向,即它的宽度是768不是1004。 我已经使用了应该自动旋转,将旋转,uidevice通知和旋转方法...但这些方法首先调用它之后调用“searchDisplayControllerWillBeginSearch”。是否有任何旋转方法,我们在searchdisplaycontrollerwillbeginsearch方法下调用。
答案 0 :(得分:1)
如果您必须在两种模式下使用应用程序,则直接在XIB中设置框架。可以选择Autosizing
。根据需要设置Autosizing
。根据横向或纵向自动设置框架。