如何在滚动视图中隐藏和取消隐藏UiViews中的浮动按钮?

时间:2016-03-30 10:52:33

标签: objective-c view uiscrollview

我想使用滚动视图加载一些视图。我的视图控制器中有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;
    }
}

我在这里添加了

enter image description here

在MYPROFILE标签中,我不想显示浮动按钮。

在此屏幕中,我想显示浮动按钮。

enter image description here

1 个答案:

答案 0 :(得分:0)

所以你有一个像这样的视图控制器(快速语法)和一个按钮。 您必须通过代码管理按钮的隐藏状态,并在每次要更改可见视图时调用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
     }
}