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)的主要内容,如果未能解决你的问题,请参考以下文章