【问题标题】:How to resize a UITableView for custom dynamic expanding UITableViewCell如何为自定义动态扩展 UITableViewCell 调整 UITableView 的大小
【发布时间】:2012-02-27 09:13:38
【问题描述】:

我正在使用我创建的自定义 UITableViewCell 来在触摸单元格时展开它。我使用 beginUpdates/endUpdates 来执行此操作,而后者又调用 heightForRowAtIndexPath。它工作正常,单元格扩展,我上面的标签显示。到目前为止一切顺利。

唯一的问题是 UITableView 本身没有调整大小以考虑单元格的额外高度。

我已阅读有关调整框架大小的信息,但它似乎不起作用。有谁知道我该怎么做,因为感觉应该很简单!

【问题讨论】:

    标签: iphone ios uitableview


    【解决方案1】:

    如果我正确理解您的问题,我相信我最近遇到了同样的问题。我在 youtube 上的 macheads 101 教程中找到了答案。他的示例处理了一个 UITableView,它调整了自身的大小以适应键盘显示。

    [[NSNotificationCenter defaultCenter] addObserver:self selector:
        @selector(keyBoardHidden:) name:UIKeyboardWillHideNotification object:nil];
    

    这是在 viewDidLoad 方法中,它调用 keyBoardHidden,如下所示:

    - (void)keyBoardHidden:(NSNotification *)note {
        //[[self tableView:tableView cellForRowAtIndexPath:0].textLabel setText:@""];
        //[tableView setFrame:self.view.bounds];
        CGRect searchBarFrame = searchBar.frame;
        CGRect newTableViewFrame = CGRectMake (0, (float)searchBarFrame.size.height,
            320, 480);
        [tableView setFrame:newTableViewFrame];     
    }
    

    他使用简单的命令 [tableView setFrame:self.view.bounds] 调整了框架的大小;但这使顶部单元格被搜索栏隐藏了,我最初只是通过删除第一个单元格来解决这个问题,但后来我决定那是丛林联盟并告诉 UITableView 框架从搜索栏的底部开始。我将其他解决方案留在 cmets 中,以防万一它对您有用。

    很遗憾,这只是一个例子。我知识渊博,无法告诉您在代码中的何处实现这些技术。我希望这无论如何都有用。

    【讨论】:

    • 很棒的东西。谢谢山姆。它没有修复它,但它确实让我更接近了!当我找到它时,我会带着我的最终解决方案回来。再次感谢。
    • 酷,我很高兴能为您提供一些帮助。有趣的是,我正在研究相同想法的更复杂版本,现在我也遇到了这个问题。其他一切正常,但表格视图不再正确调整大小。以前工作的相同代码现在失败了。我也在寻找它,看看我们中的一个人是否能找到一个我们可以用来解决它的解决方案会很有趣。 link 这是一个链接,我问了一个关于基本相同问题的问题,这样我们就可以在水中有两条线。
    【解决方案2】:

    我从未尝试过,但我会说你不应该调整表格视图的大小,它是一个滚动视图,所以你应该调整 contentSize 属性

    【讨论】:

    • 不,他应该换框架。由于 heightForRowAtIndexPath,tableview 本身将处理 contentSize。没有看到代码虽然很难说它为什么不工作。
    • 对不起,我读到他正在尝试调整 tableview 框架的大小,我认为不应该这样做
    • 好的,所以,我不知道如何将代码块放在评论中。对不起。我的 heightForRowAtIndexPath 方法返回 44,如果该行是选定的行,则返回 200 - 这是使用 accessoryButtonTappedForRowWithIndexPath 中的变量设置的。这对我来说似乎很简单......这就是为什么我怀疑我没有正确理解。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    相关资源
    最近更新 更多