菜鸟教程小白 发表于 2022-12-12 09:08:10

ios - 如何通过工具栏按钮替换容器 View ?


                                            <p><p>我想创建一个用户界面,其中有一个导航栏及其按钮,下方有一个工具栏,两者始终可见。然后,我希望底部有一个工具栏,当您点击按钮时,它将替换屏幕中间可见的内容。我会使用 <code>UITabBarController</code> 但我不想要下面的文本标签或图标的图像 - 按钮将是一个 unicode 字符。它们应该是灰色的,然后在选择一个时用浅色填充。我在想这样做的方法是在点击按钮时应用色调,但由于条形按钮没有粘性“选定状态”,我不知道该怎么做。 </p>

<p>我也不确定如何替换中间的内容。我在想我应该创建一个容器,然后从每个按钮创建一个操作方法,该方法将 <code>performSegueWithIdentifier</code> 到一个包含不同内容的不同容器。但是只能嵌入一个 ViewController ——我不能从容器中创建多个 segue。我基本上是在尝试用较小的按钮模拟一个标签栏 Controller ,没有标签,并且屏幕上的整个内容不会在点击按钮时被替换。</p>

<p>我该怎么做呢?我想在 Interface Builder 中完成基本布局,但当然需要一些代码。谢谢!</p>

<p>这基本上是我想要实现的目标:
<img src="/image/BSeUh.png" alt="enter image description here"/> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这是我过去的做法。代码位于自定义容器 Controller 中,该 Controller 是嵌入在 Storyboard的容器 View 中的 Controller 。因此,在 viewDidAppear: 中,我将第一个 Controller 添加为子级,并在单击按钮时调用 switchToNewView:。 </p>

<pre><code>@implementation ContainerController


- (void)viewDidAppear:(BOOL)animated {
    ;
    UIViewController *initial = ;
    ;
    ;
    self.currentController = initial;
    ;
}

-(IBAction)switchToNewView {
    UIViewController *sub = ;
    ;
    sub.view.frame = self.view.bounds;
    ;
}

-(void)moveToNewController:(UIViewController *) newController {
    ;
    [self transitionFromViewController:self.currentController toViewController:newController duration:.6 options:UIViewAnimationOptionTransitionCrossDissolve animations:^{}
         completion:^(BOOL finished) {
             ;
             ;
             self.currentController = newController;
             ;
         }];
}
</code></pre>

<p>constrainViewEqual 是我为 ControllerView 添加约束的类别方法。看起来是这样的,</p>

<pre><code>-(void)constrainViewEqual:(UIViewController *) vc {
    ;
    NSLayoutConstraint *con1 = ;
    NSLayoutConstraint *con2 = ;
    NSLayoutConstraint *con3 = ;
    NSLayoutConstraint *con4 = ;
    NSArray *constraints = @;
    ;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何通过工具栏按钮替换容器 View ?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/22869856/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/22869856/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何通过工具栏按钮替换容器 View ?