在横向模式下,搜索栏和表格视图不适合屏幕

Posted

技术标签:

【中文标题】在横向模式下,搜索栏和表格视图不适合屏幕【英文标题】:search bar and table views are not fitting to the screen in land scape mode 【发布时间】:2011-09-02 04:31:12 【问题描述】:

我正在使用以下代码以编程方式创建搜索栏和表格视图

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 来旋转屏幕 wrt 设备方向

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation


    return YES;

我在loadView中使用了以下代码

self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

以下是我的输出

但是在横向模式下,搜索栏和表格视图仍然不适合屏幕,我应该怎么做任何人都可以帮助我,谢谢提前

【问题讨论】:

***.com/q/7256785/491980 的完全重复 【参考方案1】:

您已经告诉视图调整大小,但您没有告诉您创建的搜索栏调整大小尝试类似:

searchbar.autorezingMask = UIViewAutoresizingFlexibleWidth;

对表格视图执行相同的操作。

看看这是否给你你正在寻找的结果。如果这不起作用,您始终可以在旋转后调整搜索栏和表格视图的框架。

【讨论】:

【参考方案2】:

尝试在 ViewWillAppear 方法中调用这个 autoresizingMask。

【讨论】:

【参考方案3】:

如果您分配任何对象的框架...您必须在它旋转时提供新框架。 根据 toInterfaceOrientation 在下面的方法中给出一个新的框架。

-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

【讨论】:

以上是关于在横向模式下,搜索栏和表格视图不适合屏幕的主要内容,如果未能解决你的问题,请参考以下文章

如何制作与搜索栏和设计一起使用的自定义表格视图

独立的搜索栏和表格视图控制器

Swift 中的下拉搜索栏/视图?

在横向模式下转到细节视图控制器

嵌套视图中的搜索栏和搜索栏控制器 (iOS)

在Swift ios中方向更改为横向模式时隐藏底部表格视图