如何将UITableView设置为分组样式

nev*_*ing 83 cocoa-touch objective-c uitableview ios

我有一个UITableViewController子节有部分.这些部分显示默认样式(没有圆角).如何将TableView样式设置为在代码中分组?我没有使用Interface Builder,所以我需要类似的东西

[self.tableView setGroupedStyle]
Run Code Online (Sandbox Code Playgroud)

我在Stack Overflow上搜索,但无法得出答案.

小智 125

您可以执行以下操作:

UITableView *myTable = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];
Run Code Online (Sandbox Code Playgroud)

斯威夫特3:

let tableView = UITableView.init(frame: CGRect.zero, style: .grouped)
Run Code Online (Sandbox Code Playgroud)

  • 这是真正的解决方案!谢谢.接受的答案是错误的,至少对于OS 3.0+而言 (12认同)
  • 请注意,已接受的解决方案中存在拼写错误.我现在修好了.这两个答案对我有用,但它们会实例化不同的东西.这个答案是一个`UITableView`,接受的答案是`UITableViewController`. (3认同)
  • 实际上,接受的答案是误导性的.请阅读OP所说的"我有一个UITableViewConotroller子类".接受的答案只给你一个简单的UITableViewController; 在不知道细节的情况下,无法解决有关子类的用户问题.这个答案和使用self.myTable可能会更好,恕我直言. (3认同)

Dim*_*ris 102

如果我理解你的意思,你必须用这种风格初始化你的控制器.就像是:

myTVContoller = [[UITableViewController alloc] initWithStyle:UITableViewStyleGrouped];
Run Code Online (Sandbox Code Playgroud)

  • 如上所述,它不是可以改变的财产.一个分组总是分组. (3认同)

Tho*_*aux 21

我给你我的解决方案,我在"XIB模式",这里是UITableViewController的子类的代码:

-(id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithStyle:UITableViewStyleGrouped];
    return self;
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意这个解决方案 - 如果这是在NIB中的navigationController下,它将丢失该引用并让你真的感到困惑. (6认同)

Gag*_*shi 14

下面代码为我工作,我也在使用UITableview类

- (id)initWithStyle:(UITableViewStyle)style
{
     self = [super initWithStyle:UITableViewStyleGrouped];

     if (self)
    {

     }
    return self;
}
Run Code Online (Sandbox Code Playgroud)


DZo*_*019 7

如果您继承UITableViewController,则可以再次初始化tableView.

目标C:

self.tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];
Run Code Online (Sandbox Code Playgroud)

斯威夫特4:

self.tableView = UITableView(frame: CGRect.zero, style: .grouped)
Run Code Online (Sandbox Code Playgroud)


Jua*_*ero 5

斯威夫特 4+:

let myTableViewController = UITableViewController(style: .grouped)
Run Code Online (Sandbox Code Playgroud)


Fan*_*ing 5

设置并不像问题中提到的那么难.实际上它很简单.在故事板上试试这个.

在此输入图像描述