从UITableCell扩展下拉菜单以超过单元格高度

时间:2015-04-24 15:34:51

标签: ios uitableview

在我的表格单元格中,有一个按钮,当您单击它时会显示一个下拉菜单。问题是,下拉菜单超出了单元格的高度,并渗入下面的单元格。

enter image description here

在这种情况下,如果我单击下拉列表中的项目,它实际上就像我单击下面的单元格一样。

我尝试使用下面的代码,但它似乎不起作用。

    [super bringSubviewToFront:dropDown];
    [super willMoveToSuperview:dropDown];

显示下拉列表的函数在表格单元格的自定义类中定义:

- (IBAction)eventAction:(id)sender {
    NSArray * arr = [[NSArray alloc] init];
    arr = [NSArray arrayWithObjects:@"Hello 0", @"Hello 1",nil];
    NSArray * arrImage = [[NSArray alloc] init];
    arrImage = [NSArray arrayWithObjects:[UIImage imageNamed:@"apple.png"], [UIImage imageNamed:@"apple2.png"], nil];
    if(dropDown == nil) {
        CGFloat f = 100;
        dropDown = [[NIDropDown alloc]showDropDown:sender :&f :arr :arrImage :@"down"];
        dropDown.delegate = self;

        dropDown.layer.zPosition = 1;
        [super bringSubviewToFront:dropDown];
        [super willMoveToSuperview:dropDown];
    }else {
        [dropDown hideDropDown:sender];
        [self rel];
    }
}

非常感谢任何帮助!!

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为可能是由下面的表格单元解释触摸,而不是视图相互叠加。

尝试在触发eventAction时在表视图中禁用用户交互。

tableView.userInteractionEnabled = NO;

然后在关闭下拉视图时将其重新打开。