【问题标题】:XCode table view rotating from Portrait to landscape hiding the first rowXCode表格视图从纵向旋转到横向隐藏第一行
【发布时间】:2013-05-01 05:35:27
【问题描述】:

在我的应用程序中,我有一个表格视图。例如,我在表格视图中有 10 行有价值的数据,顶部有一个导航栏。我以纵向模式启动应用程序。我看到 10 行。

现在我将 iPad 旋转到横向模式。我只看到 9 行。 1 行隐藏在顶部导航工具栏下方。

我将它旋转回纵向,但我仍然只能看到 9 行。 1 行仍隐藏在导航栏下方。我拖动表格视图并查看第一行。所以我的问题是,即使我从纵向更改为横向,我要进行哪些更改才能看到所有 10 行,反之亦然。我试图更改 tableview 的 setFrame 值,但没有运气。如果您需要更多信息,请询问。谢谢。

【问题讨论】:

  • 尝试编辑您的问题,很难理解。
  • @SpaceDust。我改变了它。这有帮助吗?
  • 导航栏是来自导航控制器堆栈还是您只是将导航栏拖到视图中?
  • @SpaceDust。它来自导航控制器堆栈。我没有拖放它来查看。

标签: ios ipad tableview landscape portrait


【解决方案1】:

我没有给你一个完整的答案,我不知道为什么你的第一行在导航栏下方,也许你应该为此提供额外的代码或屏幕截图。

在最坏的情况下,我会将 tableview 分组并安排-(CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section 或者我会将一个虚拟视图从界面构建器中的对象拖放到 tableview 上方,这样第一行就不能放在导航栏下方。

无论如何,如果您必须以纵向和横向显示所有行,您可以检测方向变化并使行高变小或变大。

在 viewWillAppear 函数中添加通知器

-(void)viewWillAppear:(BOOL)animated{
[[NSNotificationCenter defaultCenter] addObserver:self  selector:@selector(orientationChanged:)  name:UIDeviceOrientationDidChangeNotification  object:nil];}

方向改变通知此函数

- (void)orientationChanged:(NSNotification *)notification{
  [self.tableview reloadData];
}

根据方向更改行高并在方向更改时缩小行

//row height
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (orientation == UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown) 
{ 
    //portrait mode view 
    return 40.0; //play with the value according to your needs   
}
else if (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight) 
{
    //landscape view 
    return 30.0; //play with the value according to your needs
}

}

【讨论】:

  • 这有点像: UIEdgeInsets inset = UIEdgeInsetsMake(44, 0 ,0, 0); self.tableView.contentInset = inset;我的第一行不再隐藏。但有时我会在顶部得到一个空行。但如果我在横向和纵向之间移动,它就会消失,我可以看到所有 10 行。
  • 我不知道为什么它不应该发生,祝你好运:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 2015-10-25
  • 1970-01-01
  • 1970-01-01
  • 2021-12-27
  • 2012-04-04
相关资源
最近更新 更多