具有默认样式分组的 UITableView 子类

Posted

技术标签:

【中文标题】具有默认样式分组的 UITableView 子类【英文标题】:UITableView subclass with default style grouped 【发布时间】:2013-10-01 01:24:43 【问题描述】:

我不知道如何将分组样式设置为 UITableView 子类的默认值。我的目标是通过类似的方式将 TableView (ofc) 分组​​。

TableSubclass *myView = (TableSubclass*)some.other.view

这可能吗?如有任何建议,我将不胜感激。

更新

我有带有自定义 UITabBar 和自定义更多部分的 ios 6 应用程序。

我的“自定义”代码

- (void)viewDidLoad

    [super viewDidLoad];
    firstUse=true;
    UINavigationController *moreController = self.moreNavigationController;
    moreController.navigationBar.barStyle = UIBarStyleBlackOpaque;

    self.moreNavigationController.delegate = self;

    if ([moreController.topViewController.view isKindOfClass:[UITableView class]])
    

         UITableView *view = (UITableView *)moreController.topViewController.view;
        view = [view initWithFrame:view.frame style:UITableViewStyleGrouped];
        UIView* bview = [[UIView alloc] init];
        bview.backgroundColor = [UIColor blackColor];
        [view setBackgroundView:bview];

        moreTableViewDataSource = [[NXMoreTableViewDataSource alloc] initWithDataSource:view.dataSource];
        view.dataSource = moreTableViewDataSource;

    

它在 6 岁以下工作得很好,但在 7 岁以下 UITableView 没有响应,但当我删除时

[view initWithFrame:view.frame style:UITableViewStyleGrouped];

它再次响应,但我失去了分组样式。

【问题讨论】:

这是一个演员表,不会改变 some.other.view 的分组样式。你想完成什么? @Joel 我更新了我的问题以获得更好的解释:) 【参考方案1】:

您确定尚未配置表格视图吗? 来自UITableView Class Reference

当你创建一个 UITableView 实例时你必须指定一个表格样式, 而且这个样式不能改

看看如何创建和配置UITableView。

一般你使用UITableViewController然后在:

- (void)loadView

    UITableView *tableView =
     [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]
                                  style:UITableViewStylePlain];
    ...

【讨论】:

以上是关于具有默认样式分组的 UITableView 子类的主要内容,如果未能解决你的问题,请参考以下文章

无法在界面生成器中将 UITableView 的样式更改为分组

具有多个部分的静态分组 UITableView 的默认外观

如何以分组样式设置 UITableView 中单元格的宽度

iOS:啥是分组的 tableView 页眉/页脚文本默认样式

UITableView 是不是支持带有矩形(非圆形)部分的分组样式?

UITableView 添加分组样式和添加段