1

tableView用故事板创建了一个分组样式。现在我想在这个例如设置TableViewCell一个固定位置TableViewx: 10 y:10.

这样布局就不会在不同的设备(iPhone iPad)上中断。

谢谢

4

4 回答 4

0

据我了解,您制作了一个通用应用程序并希望在您的应用程序中添加一个表格视图。首先你提到你使用故事板,所以你使用两个不同的故事板,一个是用于 iPhone,另一个是用于 iPad。为了使位置一致,请按照以下步骤操作

  1. 找个出口UITableView

  2. 使用基本习语在代码中创建条件

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
        // iPad-specific code
    } else {
        // iPhone-specific code
    }
    
  3. 像这样调整表格视图位置

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
                // iPad-specific code
    yourTableview.frame = CGRectMake(10,20,300,400);
    
    } 
    else {
                // iPhone-specific code
    yourTableview.frame = CGRectMake(10,20,150,200);
    
    }
    
于 2013-09-11T09:16:20.070 回答
0

像这样以编程方式添加 tableView ,它将解决您的问题:

UITableView* yourTableView = [[UITableView alloc]initWithFrame:CGRectMake(10, 20, [UIScreen mainScreen].bounds.size.width - 20, [UIScreen mainScreen].bounds.size.height - 40) style:UITableViewStyleGrouped];
[self.view addSubview:yourTableView];

当然你必须设置委托和其他东西......但这将解决宽度和高度问题

于 2013-09-11T09:24:30.073 回答
0

在表格视图中使用静态单元格。作为奖励,您可以直接从表格单元格创建出口到表格视图控制器。

在此处输入图像描述

于 2013-09-12T00:10:56.110 回答
0

我是这样做的:我使用了 ajay 解决方案,并创建了 UITableViewCell 的子类。在这堂课中我使用

 -(void)layoutSubviews()
 {
      if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
         {
             CGRect frame = self.backgroundView.frame;
             frame.origin.x -= x;
             frame.size.width += x*2;
             self.backgroundView.frame = frame;

感谢帮助

于 2013-09-12T06:13:54.587 回答