子视图出现在tableview后面

时间:2010-04-16 01:36:57

标签: iphone uitableview addsubview

当我将子视图添加到我的UITableViewController时,它似乎位于tableview下面。我可能错误地加载了我的子视图,或者在错误的地方调用了addSubview。我所指的子视图是标签栏上方的红色区域,其中还包含“点击我”按钮:

screen shot http://i43.tinypic.com/30275gg.jpg

您可以看到细胞系有点重叠。这是我在TableViewController中添加子视图的地方:

- (void)viewDidLoad {
    [super viewDidLoad];
    CGRect hRect = CGRectMake(0, 170, 320, 480);
    HomeScreenOverlayView *homeView = [[HomeScreenOverlayView alloc] initWithFrame:hRect];
    [self.tableView addSubview:homeView];
    [homeView release];
}

有什么想法吗?谢谢!

3 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

当您调用addSubview时,它可能是添加到表视图的第一个视图。之后,所有单元格和支持视图都将添加到您的视图中。

最好的办法是创建一个空视图并将表格视图和叠加视图添加到其中,确保叠加视图位于表格视图上方。

视图提供绘图,交互和布局三个角色。只有填充其中一个角色的视图才可以。

答案 2 :(得分:0)

您可以使用- (void)sendSubviewToBack:(UIView *)view- (void)insertSubview:(UIView *)view atIndex:(NSInteger)indexaddSubview始终将新视图放在前面 编辑:抱歉,误读了这个问题,看起来您希望子视图在前面。