菜鸟教程小白 发表于 2022-12-13 05:17:34

ios - UIPageViewController 访问 UITableView 内容后未加载页面内容


                                            <p><p>这可能是关于 PageViewControllers 或我的 View 的一般管理的菜鸟问题。</p>

<p>我有一个 PageViewController 可以让我滑动浏览...嗯,你知道它的作用。在这些动态页面中的每一个上,我都有一个提供当前游戏状态消息的标签和一个嵌入式 UITableView,其中包含玩家列表和他们的分数(见附件 #1)。</p>

<p>当我点击玩家查看他们的个人资料,然后返回到我的 pageviewcontroller 时,我看到的数据是我最初离开 View 时的数据——这很好。但是......当我然后向前或向后滑动到后续页面时,该数据不会自行清除并分层在新滑动的 View 之上(见附件#2)。此外,tableview 应该不会显示此屏幕的任何点。</p>

<p>第三个屏幕截图显示了数据<em>应该</em>的外观。</p>

<p>想法/评论,对任何人来说都很熟悉?</p>

<p>提前致谢
:-)</p>

<p> <img src="/image/LAruR.png" alt="Initial page prior looking at their profile"/>
<img src="/image/8Pjh8.png" alt="combined views with data not clearing"/>
<img src="/image/988rX.png" alt="How the second page should look"/> </p>

<p><strong>编辑</strong></p>

<p><em>应要求添加了更多详细信息</em></p>

<p>数字 2、“...”和“玩家 1 领先”部分都是在以下示例所示的 PageContentViewController 上找到的 UILabel。我的 ScoringViewController 实际上只负责设置页面 View ,并加载后续页面。</p>

<p><strong>ScoringViewController.m</strong></p>

<pre><code>-(void)loadPages:(int)startingPage {
    // Create page view controller
    self.pageViewController = ;
    self.pageViewController.dataSource = self;

    PageContentViewController *startingViewController = ;
    NSArray *viewControllers = @;

    // Advance to next page (&#34;hole&#34;);
    ;

    // Change the size of page view controller
    self.pageViewController.view.frame = CGRectMake(
                                                0,
                                                0,
                                                self.view.frame.size.width,
                                                self.view.frame.size.height);

    ;
    ;
    ;
}

-(PageContentViewController *)viewControllerAtIndex:(NSUInteger)index {
    // Create a new view controller and pass suitable data.
    PageContentViewController *pageContentViewController = [self.storyboard
                                                      instantiateViewControllerWithIdentifier:@&#34;PageContentViewController&#34;];

    pageContentViewController = ;
    pageContentViewController.pageIndex = index;

    return pageContentViewController;
}
</code></pre>

<p><strong>PageContentViewController.m</strong></p>

<pre><code>-(void)viewWillAppear:(BOOL)animated {
    ;

    // Add 1 to the page index since it&#39;s zero based.
    int tmpPageIndex = _pageIndex + 1;

    _lblCurrentHole.text = ;
}
</code></pre>

<p>在我的 TableView 的 configureCell 方法中,它只是点击了一个 leaderCheck 函数,然后显示了正确的消息。除此之外,真的没有别的了。如果我<em>不</em>去个人资料页面然后回来,效果很好。</p>

<p>代码源于我不久前在 AppCoda 上找到的一个示例。 (<a href="http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/" rel="noreferrer noopener nofollow">http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/</a>)。</p>

<p><strong>编辑</strong>
包括一个带有颜色的内容 View 的特写,以显示顶部的主视图和底部的表格 View 的分离。</p>

<p>当我离开这个 View 并返回它时,是否只是没有从内存中正确清除?</p>

<p> <img src="/image/ABDNl.png" alt="enter image description here"/>
<img src="/image/9KH9m.png" alt="enter image description here"/> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我认为 <code>ScoringViewController</code> 中的 <code>loadPages:</code> 方法被调用了两次,因为它是从 <code>viewWillAppear</code> 调用的。 <code>viewWillAppear</code> 将在首次显示 VC 时调用,并且在关闭配置文件 ViewController 时也会调用。因此,您最终会得到两个 <code>pageViewControllers</code>,其中一个通过另一个显示。如果您将该代码移至 <code>viewDidLoad</code>,它应该可以正常工作。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UIPageViewController 访问 UITableView 内容后未加载页面内容,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/28440037/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/28440037/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UIPageViewController 访问 UITableView 内容后未加载页面内容