0

我的问题分为两部分:

第1部分:

我有一个UITableView有 4 行的,当用户点击任何单元格时,它会显示一个内部UITableView,我已经扩展了 master 的大小UITableView,然后插入内部UITableView

internalTableView = [[InternalApartmentTableViewController alloc] initWithFrame:CGRectMake(0, 44, 550, (([[tableContent objectAtIndex:indexPath.row] count] - 1) * 44))];
[cell addSubview:internalTableView];

didSelectedRow 是:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (selectedInternal != -1) {
    selectedInternal = -1;
} else {
    selectedInternal = indexPath.row;
    [internalTableView removeFromSuperview];
    [internalTableView release];
}
[tableViews reloadData];

}

我正在使用内部的少量行测试应用程序UITableView,高度 = 700 并且一切正常,在我使用真实数据时,高度 = 2500 和显示数据时,高度出现在 = 1000 左右,我不需要内部UITableView是可滚动的,只是主人UITableView是可滚动的。

那么,我怎样才能UTableView尽可能多地扩展框架大小呢?

第2部分:

在内部UITableView,我使用了一个自定义单元格,其中包含标签和图像以及 2 个按钮,其中一个按钮被单击时,我想显示UIPopOver它的位置,我无法确定按钮在视图中的位置,实际上,我不知道应该使用哪个视图来UIPopOver在屏幕上显示

[popoverController presentPopoverFromRect: //(How can i get the rect for the button)
                   inView: //(in which view should the PopOver appear, master UITableView or Internal UITableView or Custom Cell)
                   permittedArrowDirections:UIPopoverArrowDirectionLeft
                   animated:YES];

任何帮助将不胜感激。

4

1 回答 1

1

//当自定义单元格的btn被按下时

if(![tempPopover isPopoverVisible])
{

    UIButton* btn=(UIButton *)sender;
    NSIndexPath*indexpath=[NSIndexPath indexPathForRow:btn.tag inSection:0];
    cell=(customCell *)[tableView cellForRowAtIndexPath:indexpath];

        popoverController *objView = [[popoverController alloc] init];

        tempPopover = [[UIPopoverController alloc] initWithContentViewController:objView];
        [tempPopover setPopoverContentSize:CGSizeMake(160, 160)];
        [tempPopover presentPopoverFromRect:CGRectMake(655, cell.contentView.frame.origin.y-105, 150, 150) inView:cell.contentView permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

}
于 2012-06-12T04:48:30.360 回答