码迷,mamicode.com
首页 > 其他好文 > 详细

UITableViewController子类分离self.tableView和self.view的方法

时间:2015-04-02 18:26:27      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

  当一个view上显示的内容能够用一个UITableView实现,可以通过子类化一个UITableViewController控制器,上面提供了一个UITableView对象,不需要自己维护其frame,使用起来还是挺方便的。但是当在该控制器的view上添加其他的视图时,会出现无论如何都会添加的self.tableView上,原因是在UITableViewController子类中,self.view和self.tableView都是同一个对象,都是一个UITableView。本文主要是分离self.tableView和self.view,以达到能够在self.view上添加其他view,方法如下:

1、在- (void)viewDidLoad或者- (void)loadView方法添加如下代码:

    UITableView *tableView = (UITableView *)self.view;

        self.view = [[[UIView alloc] init] autorelease];

        tableView.frame = self.view.bounds;

        self.tableView = tableView;

2、重写self.tableView的get方法和set方法

- (void) setTableView:(UITableView *)tableView {

    [self.tableView removeFromSuperview];

    [self.view addSubview:tableView];

}

 

- (UITableView *) tableView {

    for (UIView *v in self.view.subviews) {

        if ([v isKindOfClass:[UITableView class]]) {

            return (UITableView *)v;

        }

    }

    return nil;

}

通过以上方法即可分离UITableViewController子类中self.tableView和self.view了。

UITableViewController子类分离self.tableView和self.view的方法

标签:

原文地址:http://www.cnblogs.com/caishangshu/p/UITableViewControllerSeparateView.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!