Iphone 是否可以在两个不同的视图中更改uitableview的样式?

Iphone 是否可以在两个不同的视图中更改uitableview的样式?,iphone,ios,ios4,iphone-sdk-3.0,Iphone,Ios,Ios4,Iphone Sdk 3.0,我有一个表,我还声明了它的样式为视图中的分组表样式,但我还有一个按钮,单击它我想更改同一个表的样式 最初,我是在view did load方法中设置的: tableObj= [[UITableView alloc]initWithFrame:CGRectMake(5,50,310,300)style:UITableViewStyleGrouped]; 但在按钮点击事件中,我正在设置tableview框架和样式,请参见下面的代码 tableObj.frame=CGRectMake(5,50,31

我有一个表,我还声明了它的样式为视图中的分组表样式,但我还有一个按钮,单击它我想更改同一个表的样式

最初,我是在view did load方法中设置的:

tableObj= [[UITableView alloc]initWithFrame:CGRectMake(5,50,310,300)style:UITableViewStyleGrouped];
但在按钮点击事件中,我正在设置tableview框架和样式,请参见下面的代码

tableObj.frame=CGRectMake(5,50,310,300);

tableObj style=UITableViewStylePlain;
但它给出了一个错误….分配给只读属性

tblView.style;
它是一个只读属性,您不能将任何值设置为,而只能读取已设置的值。。您可以检查属性是否可更改,而不是通过编写下面的代码

[tblView setStyle:];
但是你会发现你不能这样做,所以你不能设置


最好得到两个表视图,或者使用不同的样式重新初始化现有的表视图。

您不能这样更改表视图样式。我的建议是使用两张桌子或者做类似的事情

最初是这样的:

tableObj= [[UITableView alloc]initWithFrame:CGRectMake(5,50,310,300)style:UITableViewStyleGrouped];
然后,如果要更改,请执行以下操作:

[tableObj removeFromSuperView];
tableObj=nil;]
//if not using ARC
[tableObj release];
tableObj= [[UITableView alloc]initWithFrame:CGRectMake(5,50,310,300)style:UITableViewStylePlain];
[self.view addSubview:tableObj];
根据,您不能更改UITableView的样式

创建UITableView实例时,必须指定表格样式, 这种风格是无法改变的


可以动态更改表视图的框架,但不能更改其样式

初始化表格视图时设置表格样式,请参见 initWithFrame:样式:。此后不能修改样式

看这个


不,这是不可能的,请参见apple文档中的wriiten:-

根据文档,UITableView的样式属性声明如下:

@property(nonatomic, readonly) UITableViewStyle style
readonly关键字意味着您可以获取属性的值,但不能设置它。只能在使用-initWithFrame:style:创建表时设置样式。这与您收到的错误消息一致:

对只读属性的赋值


简而言之,您不能这样做。

请检查.h文件中的属性将属性更改为readonly至ReadWrite我已声明此…@propertynonatomic,retain UITableView*tableObj;不,这不是最佳做法,我在回答中也说过这一点。现在看我的编辑,我想现在可以了??现在可以了吗??我对记忆问题的看法正确吗?@Sharma它有效吗?@satheeshwaran我认为你应该选择弧形或非弧形的样式,并坚持下去。不要试图同时做这两件事-你只会混淆问题。@satheeshwaran:Thanxss它能工作。。。。