如何在滚动视图中隐藏和取消隐藏 UiViews 中的浮动按钮?
Posted
技术标签:
【中文标题】如何在滚动视图中隐藏和取消隐藏 UiViews 中的浮动按钮?【英文标题】:How do I hide and unhide a floating button in UiViews within the scrolling view? 【发布时间】: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?
【参考方案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
【讨论】:
以上是关于如何在滚动视图中隐藏和取消隐藏 UiViews 中的浮动按钮?的主要内容,如果未能解决你的问题,请参考以下文章