菜鸟教程小白 发表于 2022-12-12 09:57:55

ios - 最后一个单元格在底部被我的 UITabBar 切断


                                            <p><p>我有一个带有 <code>UITabBar</code> 的主 <code>viewController</code> A。我的问题是当我滚动到最后一个单元格并在 <code>UITableView</code> 中单击单元格并转到 <code>viewController</code> B 之后,当我回到我的 <code>viewController</code> A,我的最后一个单元格在底部被截断,我可以滚动显示该单元格的所有内容。但默认情况下,底部 <code>UITableView</code> 与上次不同。</p>

<p>当我启动 <code>viewController</code> B 我在 VCB "<code>viewWillAppear</code>"中隐藏我的 <code>UITabBar</code> 代码:</p>

<pre><code>- (void)hideTabBar {

    UITabBar *tabBar = self.tabBarController.tabBar;
    UIView *parent = tabBar.superview;
    UIView *content = ;
    UIView *window = parent.superview;
    [UIView animateWithDuration:0.3
                     animations:^{
                         CGRect tabFrame = tabBar.frame;
                         tabFrame.origin.y = CGRectGetMaxY(window.bounds);
                         tabBar.frame = tabFrame;
                         content.frame = window.bounds;
                     }];
}
</code></pre>

<p>当我回到我的 <code>viewController</code> A 时,我会在 VCB "<code>viewWillDisappear</code>"中显示我的 <code>UITabBar</code> 代码:</p>

<pre><code>- (void)showTabBar {

    UITabBar *tabBar = self._tab;
    UIView *parent = tabBar.superview;
    UIView *content = ;
    UIView *window = parent.superview;

    [UIView animateWithDuration:0.3
                     animations:^{
                         CGRect tabFrame = tabBar.frame;
                         tabFrame.origin.y = CGRectGetMaxY(window.bounds) - CGRectGetHeight(tabBar.frame);
                         tabBar.frame = tabFrame;

                         CGRect contentFrame = content.frame;
                         contentFrame.size.height -= tabFrame.size.height;
                     }];
}
</code></pre>

<p>我在 iOS 6 中遇到了同样的问题,但滚动条不允许滚动到底部,并且最后一个单元格总是被切断。</p>

<p>在我的 <code>viewController</code> A in "<code>viewWillAppear</code>"我做:</p>

<pre><code>if ([.systemVersion hasPrefix:@&#34;7&#34;]) {
    ;   
}
</code></pre>

<ul>
<li>点击之前(图 1)</li>
<li>当我回来时(图 2)</li>
</ul>

<p> <img src="/image/CL0qj.jpg" alt="Before when I clicked"/> </p>

<p> <img src="/image/PimQS.jpg" alt="When I come back"/> </p>

<p>感谢您提前提供所有答案!!!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>另一种方法是将 <code>tabBar</code> 的 translucent 属性设置为 <code>NO</code> 像这样</p>

<pre><code>// In init or viewDidLoad of tab bar controller
self.tabBar.translucent = NO;
</code></pre>

<p>假设您使用的是 iOS7,这应该在 <code>self.tabBar</code></p> 上方调整您的 <code>UITableView</code></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 最后一个单元格在底部被我的 UITabBar 切断,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/23778959/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/23778959/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 最后一个单元格在底部被我的 UITabBar 切断