我使用以下代码以编程方式创建搜索栏和表格视图
UISearchBar* searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0,0,320,40)];
searchBar.delegate = self;
[self.view addSubview:searchBar];
UITableView* tblView = [[UITableView alloc]initWithFrame:CGRectMake(0, 41, 320, 400)];
tblView.delegate = self;
tblView.dataSource = self;
[self.view addSubview:tblView];
现在我在以下方法中使返回值为yes以旋转设备方向的屏幕
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
我在loadView
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
以下是我的输出
但仍然搜索栏和表格视图不适合横向模式的屏幕,我应该怎么做才能帮助我,提前
答案 0 :(得分:5)
你已经告诉视图调整大小但是你没有告诉你创建的搜索栏调整大小尝试类似:
searchbar.autorezingMask = UIViewAutoresizingFlexibleWidth;
对表格视图执行相同的操作。
看看是否能为您提供所需的结果。如果不起作用,您可以在旋转后始终调整搜索栏和表格视图的框架。
答案 1 :(得分:1)
尝试在ViewWillAppear方法中调用此autoresizingMask。
答案 2 :(得分:-1)
如果您指定任何对象的帧...您必须在旋转时提供新帧。 基于toInterfaceOrientation在以下方法中给出一个新框架。
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration