【问题标题】:how to change UItableview's height and width in iPhone如何在 iPhone 中更改 tableview 的高度和宽度
【发布时间】:2026-01-07 19:50:01
【问题描述】:

我正在尝试更改表格的高度和宽度。我使用了以下代码:

tbl.frame=CGRectMake(0, 10, 50, 200); 

viewDidLoad 方法上,但它对表格的高度和宽度没有任何影响。

【问题讨论】:

  • 可能会发布更多代码。
  • 如果您要通过代码调整帧,请确保您已禁用 xib 中的自动调整大小。
  • 缺少信息。我们需要知道您如何加载视图(XIB/以编程方式)?你用的是普通的UIViewController吗?
  • 您的 IBOutlate 一定有问题,因为在我的演示中,它与 viewDidLoad 方法和代码 self.tableView.frame = CGRectMake(self.tableView.frame.origin.x, self.tableView.frame.origin.y, self.tableView.frame.size.width, 460.f); 一起工作得很好,这里 tableView 是 ivar 在 .h 文件中声明为 @property (strong, nonatomic) IBOutlet UITableView *tableView; 并在 .m 文件中合成使用@synthesize tableView = _tableView;

标签: ios uitableview


【解决方案1】:

如果您使用的是 UITableViewController,它不会生效,但如果您使用 UITableView,您可以尝试此代码并尝试使用重新加载 tableview

tbl.frame=CGRectMake(0, 10, 50, 200); 
[tbl reloadData];

【讨论】:

  • 谢谢你 Vishnu Prasanth.. 我只使用了 UITableView.. 它不会做任何改变
  • @Balamurugan 只是为了澄清......你是否将 tableview 插座连接到 xib 中的文件所有者?
【解决方案2】:

viewWillAppear方法中使用

tableSettings.frame = CGRectMake(17, 35, 288, 385);

希望它会奏效。 总是在viewWillAppear 中做类似的事情。 因为在 loadTime 上它没有效果。

【讨论】:

    【解决方案3】:

    你可以用这个方法

    -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
            return 50;
    }
    

    【讨论】:

    • 这会影响单元格的高度,而不是表格视图的高度。
    • 是的......对不起,我以为他在问单元格,实际上你可以轻松增加或减少表格的大小