table view in popover is not scrolling

前端 未结 2 1805
青春惊慌失措
青春惊慌失措 2021-02-06 15:24

I have the code below to display popover with tableview and it works perfectly.

The tableview displays 13 numbers and I can scroll and see the same but when I relea

相关标签:
2条回答
  • 2021-02-06 15:59

    Use autoresizing correctly!

    Popover - has content size

    popoverView - its initial size should be the same as popover's content size and use UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight

    tblViewMenu- its initial size should be the same as the size of its ancestor (popoverView), again, use UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight

    Your table is not scrolling because it is so big that it doesn't needs scrolling. Only the popover is clipping it.

    CGSize contentSize = CGSizeMake(320, 320);
    
    UIView* popoverView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, contentSize.width, contentSize.height)];
    popoverView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
    
    UITableView *tblViewMenu = [[UITableView alloc]initWithFrame:popoverView.bounds];
    tblViewMenu.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
    
    popoverContent.contentSizeForViewInPopover = contentSize;
    
    0 讨论(0)
  • 2021-02-06 16:07

    Try set the ContentSize of the tableView, like this:

    [tblViewMenu setContentSize:CGSizeMake(320,680)];
    

    Also, I'd prefere to make the size of the tableView dynamic. depend on your tableView Datasource array.

    UPDATE

    To make the tableView dynamic, use this:

    [tblViewMenu setContentSize:CGSizeMake(320, ([numbers count] * 32))];
    

    And if you have a header view that has a hight like the other cells, just add 1 to [number count], that would be like this:

    [tblViewMenu setContentSize:CGSizeMake(320, (([numbers count] + 1) * 32))];
    
    0 讨论(0)
提交回复
热议问题