首页 > 其他 > 详细

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

时间:2015-04-02 18:23:26      阅读:1482      评论: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)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!