Objective c 如何更改UITableView的宽度?

Objective c 如何更改UITableView的宽度?,objective-c,cocoa-touch,Objective C,Cocoa Touch,我是iPhone开发的新手,来自web应用程序开发背景,我正在从事我的第一个项目。我选择创建一个基于导航的项目,因为在阅读之后,它似乎是获得我想要的东西的最简单的方法。如何更改UITableView的宽度?最后,我希望有一个顶部栏、UITableView和底部栏的宽度为304px。我在RootViewController的viewDidLoad方法中尝试了以下操作,但我做错了: CGRect tableViewFrame = self.tableView.frame; tableViewFram

我是iPhone开发的新手,来自web应用程序开发背景,我正在从事我的第一个项目。我选择创建一个基于导航的项目,因为在阅读之后,它似乎是获得我想要的东西的最简单的方法。如何更改UITableView的宽度?最后,我希望有一个顶部栏、UITableView和底部栏的宽度为304px。我在RootViewController的viewDidLoad方法中尝试了以下操作,但我做错了:

CGRect tableViewFrame = self.tableView.frame;
tableViewFrame.size.width = 200;
self.tableView.frame = tableViewFrame;

提前感谢您的帮助。

如果您想更改tableViewCell的宽度。。转到cellForRowAtIndexPath,并在那里分配它

你也可以做-

CGFloat tableBorderLeft = 1;
CGFloat tableBorderRight = 1;

CGRect tableRect = self.view.frame;
tableRect.origin.x += tableBorderLeft; // make the table begin a few pixels right from its origin
tableRect.size.width -= tableBorderLeft + tableBorderRight; // reduce the width of the table
tableView.frame = tableRect;
用于更改标题的大小

-(CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section
{
return 150.0;  //Give a value
}
用于更改页脚的大小

-(CGFloat)tableView:(UITableView*)tableView heightForFooterInSection:(NSInteger)section
{
return 150.0;//Give a value
}

如果要更改tableViewCell的宽度。。转到cellForRowAtIndexPath,并在那里分配它

你也可以做-

CGFloat tableBorderLeft = 1;
CGFloat tableBorderRight = 1;

CGRect tableRect = self.view.frame;
tableRect.origin.x += tableBorderLeft; // make the table begin a few pixels right from its origin
tableRect.size.width -= tableBorderLeft + tableBorderRight; // reduce the width of the table
tableView.frame = tableRect;
用于更改标题的大小

-(CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section
{
return 150.0;  //Give a value
}
用于更改页脚的大小

-(CGFloat)tableView:(UITableView*)tableView heightForFooterInSection:(NSInteger)section
{
return 150.0;//Give a value
}

听起来前者可能就是我想要的。如果我想更改顶部和底部栏以及UITableViewCells的宽度,我是否只更改整个视图的宽度而不是该点上每个控件的宽度?这是设置tableView宽度的一种非常简单的方法。如果你想改变页眉或页脚的高度,你必须实现我在上面发布的方法(额外代码),我尝试了你的第一个建议;正在设置UITableViewCell宽度,但无法使任何内容正常工作。因此,我转到了您的示例代码,我将其放在[super viewDidLoad]下,但表仍然是屏幕的宽度(屏幕截图:)。不要在viewDidLoad中使用它。在cellForRowAtIndexPath中使用。哦,我误解了。不过,在重新构建之后,屏幕截图看起来还是一样的:听起来前者可能就是我想要的。如果我想更改顶部和底部栏以及UITableViewCells的宽度,我是否只更改整个视图的宽度而不是该点上每个控件的宽度?这是设置tableView宽度的一种非常简单的方法。如果你想改变页眉或页脚的高度,你必须实现我在上面发布的方法(额外代码),我尝试了你的第一个建议;正在设置UITableViewCell宽度,但无法使任何内容正常工作。因此,我转到了您的示例代码,我将其放在[super viewDidLoad]下,但表仍然是屏幕的宽度(屏幕截图:)。不要在viewDidLoad中使用它。在cellForRowAtIndexPath中使用。哦,我误解了。重新构建后,屏幕截图看起来是一样的:
tableViewFrame.size.bounds.width
请注意
bounds
。尝试了之后,我得到了一个关于bounds不是CGSize成员的错误。
tableViewFrame.size.bounds.width
请注意
bounds
。尝试了之后,我得到了一个关于bounds不是CGSize成员的错误。