【问题标题】:adding subviews to UITableViewCell issue将子视图添加到 UITableViewCell 问题
【发布时间】:2011-05-28 01:26:38
【问题描述】:

我有一个 UITableView ,如果我点击其中一行,它会在底部添加一个子视图。问题是当我点击表格中的最后一行时,它会隐藏子视图并让我滚动到底部才能看到它。这是一个小错误,但解决此问题的最佳方法是什么。

我能想到的一种方法是如果选择了最后一行,则向下滚动到该行的底部。 不过,这似乎不是一个很好的解决方案。

这是一个 video 说明我的问题

【问题讨论】:

    标签: iphone objective-c ipad uitableview


    【解决方案1】:

    您可能想在 didSelectRow 方法中尝试这样的事情:

    if (indexPath.row == [dataArray count]) {
      [tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:indexPath.row
                                                           inSection:0]
                       atScrollPosition:UITableViewScrollPositionBottom 
                               animated:YES];   
    }
    

    我还使用以下方法使最后一行可见(尽管从您的视频中我认为这不适用于您的情况)

    [guessesTableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO];
    

    【讨论】:

    • 是的,您希望它自动滚动以将所选行完全显示在视图中。上面的代码看起来差不多。
    • 这实际上是我的解决方案,不知道是否有其他方法
    • 它应该是[dataArray count]-1,行是0索引
    • 关于你唯一能做的另一件事就是调整上面的算法,使任何被触摸的行(或至少一个低于底部 1/3 左右的行)从底部提升到大约 1/3底点。这可能更“直观”/更少“颠簸”(尽管您必须成为法官)。当触摸某物产生键盘弹出时使用类似的技术。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    相关资源
    最近更新 更多