UITableView内容消失了

时间:2016-09-13 19:42:56

标签: ios objective-c uitableview uiview

我面对UITableView的奇怪行为。我有一个UIView的视图控制器,我们称之为 A

内部UIView A 我正在调用来自UIViewController的另一个视图,名为view B

HomeViewController.m

- (void)viewDidLoad {
    [super viewDidLoad];

    UIView *B = [[BViewController alloc]init].view;

    [self.A addSubview:B];
}

B 内,我有UITableView C

BViewController.m

- (void) viewDidLoad
{
    C.delegate = self;
    C.dataSource = self;
    [self.view addSubview:C];
}

UITableView正确加载,但当我点击屏幕时,所有表格的内容都消失了。只剩下一张空桌子。

2 个答案:

答案 0 :(得分:0)

在您的视图中,控制器B创建了类型A的属性,并将其命名为委托,并使用A的实例对其进行设置,并将该委托属性设置为您的表视图' datasource和delegate而不是self。因为在b的viewdidload中你将委托和数据源设置为self,这意味着B的实例,并且你的表视图正在viewcontrollet A上显示。所以A'的瞬间将是tableview的委托。因此,在vc A或我上面提到的行中将tableview的委托和数据源设置为self。或者你应该将vc添加为childviewcontroller。

答案 1 :(得分:0)

根据View Containers的官方文件,我的问题得到了解决。