当我以横向模式进入搜索栏时设置框架

时间:2011-12-28 10:47:14

标签: iphone

在我的应用程序中,我正在使用我的视图控制器上导航栏下方的搜索栏。搜索以便使用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方法下调用。

1 个答案:

答案 0 :(得分:1)

如果您必须在两种模式下使用应用程序,则直接在XIB中设置框架。可以选择Autosizing。根据需要设置Autosizing。根据横向或纵向自动设置框架。