【问题标题】:How do I hide and unhide a floating button in UiViews within the scrolling view?如何在滚动视图中隐藏和取消隐藏 UiViews 中的浮动按钮?
【发布时间】:2016-03-30 10:52:33
【问题描述】:

我想使用滚动视图加载一些视图。我的视图控制器中有 6 个视图和一个浮动按钮。在我的第一个视图中,我不想显示浮动按钮,而在其余视图中,我想显示它。我正在加载这样的视图:

-(void)loadViews
{
    for (UIView *view in self.scrollView.subviews)
    {
        [view removeFromSuperview];
    }
    for (int i=0; i<self.arrayViews.count; i++)
    {
        UIView *view = [self.arrayViews objectAtIndex:i];
        CGRect frame =view.frame;
        frame.origin.x = self.scrollView.bounds.size.width * i;
        view.frame = frame;
        [self.scrollView addSubview:view];
        floatBtn.hidden = YES;
    }
}

这里我是这样添加的

在 MYPROFILE 选项卡中,我不想显示浮动按钮。

在这个屏幕上我想显示浮动按钮。

【问题讨论】:

  • @honk。感谢您的编辑。
  • 您的问题不清楚。您似乎永远不想显示您的按钮。此外,您将arrayViews.count 设置为隐藏floatBtn 倍。
  • OP 需要解释floatBtn 是如何创建的。这个按钮是每个视图一个吗?问题中没有关于真正预期的线索。我怀疑他希望当第一个视图在滚动视图中可见时隐藏一个唯一按钮(与子视图分离),否则可见......
  • @Xvolks。查看我更新的问题
  • 因此,当您从“我的个人资料”更改为“教育”视图时,会发生一个事件(按钮单击、网络请求……)。在这种情况下,调用委托方法来隐藏或显示按钮。你使用故事板还是 XIB?

标签: objective-c view uiscrollview


【解决方案1】:

所以你有一个像这样(swift 语法)的视图控制器,带有一个按钮。 您必须通过代码管理按钮的隐藏状态,并在每次要更改可见视图时调用 selectView 之类的方法。

class MyViewController : UIViewController {
     @IBOutlet var floatBtn:UIButton!

     override func viewWillAppear(animated:Bool) {
         super.viewWillAppear(animated)
         self.loadViews()
         self.selectView(0)
     }

     //your loadViews method
     func loadViews() { 
        //remove your floatBtn.hidden = YES; line here
     }

     func selectView(viewIndex:Int) {
         // do stuff to show your view
         self.mySubViewChanged(viewIndex != 0)
     }


     //create a method that will be called when an event triggers the subview change
     func mySubViewChanged(needsButton:Bool) {
        floatBtn.hidden = !needsButton
     }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    • 2013-11-18
    • 1970-01-01
    • 2020-11-11
    相关资源
    最近更新 更多