Objective C:如何在当前可见帧中设置子视图显示? (UITableView)

Posted

技术标签:

【中文标题】Objective C:如何在当前可见帧中设置子视图显示? (UITableView)【英文标题】:Objective C: How to set the subview display in the current visible frame? (UITableView) 【发布时间】:2011-06-10 18:23:38 【问题描述】:

我有一个 UITableViewController 并打算在我单击一个按钮时向它添加一个子视图,即刷新按钮。我的代码如下:

//set up loading page
self.myLoadingPage = [[LoadingPageViewController alloc]init ];
self.myLoadingPage.view.frame = self.view.bounds;
self.myLoadingPage.view.hidden = NO;

[self.view addSubview:self.myLoadingPage.view];

我的问题是如何将此子视图设置在当前可见框架中?特别是对于 UITableviewcontroller,我可能会在向下滚动到第 100 个单元格后单击刷新按钮,对于这个示例,我的子视图仍将添加到表格视图的顶部(从单元格 1 开始)。有没有办法解决这个问题?

【问题讨论】:

【参考方案1】:

只需移动线条,以便在将框架设置为子视图后设置框架

self.myLoadingPage = [[LoadingPageViewController alloc]init ];
self.myLoadingPage.view.hidden = NO;
[self.view addSubview:self.myLoadingPage.view];
self.myLoadingPage.view.frame = self.view.bounds;

【讨论】:

感谢您的回复!这行得通,但我还有 1 个挑战。首先,我仍然可以滚动 UITableview,并且滚动时子视图不会固定在框架中。我试图将 userInteractionEnabled 属性设置为 NO,但是当我在表格从滚动中“减速”时单击刷新按钮时,子视图可能只显示在屏幕上,即它的一半可能在可见屏幕之外,因为卷轴。关于如何处理这个问题的任何提示?

以上是关于Objective C:如何在当前可见帧中设置子视图显示? (UITableView)的主要内容,如果未能解决你的问题,请参考以下文章

我们如何在道场 TreeGrid 中设置子级?

如何在 nginx 中设置子文件夹

如何从父组件中设置子组件的样式?

如何使用 CSS 模块在 React 中设置子组件的样式

在 matplotlib 中设置子图的大小

如何在 Scikit-Learn 的随机森林分类器中设置子样本大小?特别是对于不平衡的数据