我在视图控制器中有tableView Outlet并在下面编写代码,我的表视图现在再次显示在屏幕上。有人可以解释这种奇怪的行为。我不明白出了什么问题。我的意思是表视图应该再次显示,因为我再次将tableview添加到其superview。
@interface 中的
@property (weak, nonatomic) IBOutlet UITableView *tableView;
在@implementation中
- (void)viewDidLoad {
[super viewDidLoad];
UIView* table = self.tableView;
[table removeFromSuperview];
[self.view addSubview:table];
}
答案 0 :(得分:0)
首先,您不需要将tableView
放在UIView
中,您可以立即使用tableView
上的查看方法(就像按钮,标签一样)以及更多)。
现在最重要的是,我说如果没有更多的信息,我们真的无法说出错误:
tableView
是如何创建的?delegate
和datasource
以确保其能够正确显示数据?如果您已经完成了所有这些并且您可以通过您的tableview进行调试并正确查看所有内容,那么请分享您的更多工作,以便我们进行调查。如果没有,我建议你查看我的清单并按照它的方式工作:)
编辑:经过调查:
我现在尝试使用自己的应用程序,因为self.view不是可见视图,当我向其添加内容时,它只是在另一个视图下(在上面)。
步骤:
self.view
,因此落后于您拥有的大型集合视图。 (或任何真的。)签入您的View Hierarchy调试器,您可能会注意到您的tableview背后隐藏着其他东西。
我试过了:
UIView * view = [[UIView alloc] initWithFrame:CGRectMake(10,10,100,100)]; view.backgroundColor = [UIColor redColor];
[self.view addSubview:view];
要提起它,你可以尝试
[self.view bringSubviewToFront:view];
我只是将它添加到我的最顶层视图中,而不是self.view
,而不是 [self.collectionview addSubview:view];
,它就像魅力一样。
{{1}}
这意味着我的观点没有隐藏或破坏,只是添加到错误的子视图中