在 iOS 中创建浮动操作按钮
Posted
技术标签:
【中文标题】在 iOS 中创建浮动操作按钮【英文标题】:Create Floating Action Button in iOS 【发布时间】:2017-03-22 03:37:11 【问题描述】:我想创建一个浮动操作按钮。这个按钮就像 android 中谷歌邮件上的添加按钮,如果我们点击然后屏幕变暗并显示一些具有良好动画的子按钮。这是github中的示例
起初,我在 cocoacontrols 上进行了搜索,但一无所获,因此我决定创建自己的。 但我不知道如何做到这一点,所以我的问题是如何创建它?
任何帮助或指向一些有用链接的指针将不胜感激。谢谢!
【问题讨论】:
我不知道浮动操作按钮是什么。看着你的照片,我不知道你想要完成什么。 嗨,@ElTomato 这个按钮就像 android 中谷歌邮件上的添加按钮,如果我们点击它,屏幕就会变暗,并显示一些动画效果很好的子按钮。 您应该为每个按钮显示使用自定义单元格,并在按钮单击事件的操作上重新加载 tableview 使用弹出动画来显示透明的暗视图.. 【参考方案1】:您可以通过在当前视图控制器上方显示CustomViewController
来实现它,使用下面的代码
self.viewControllerObj.modalPresentationStyle = UIModalPresentationOverCurrentContext;
[self presentViewController:self.viewControllerObj animated:YES completion:nil];
如果您想查看带有shade effect
的背景视图,您可以将Opacity
设置为您的Background color
的呈现viewcontroller
要为您的按钮添加动画效果,请在下面找到一些示例代码,
CGRect tempSize = button.frame;
tempSize.origin.y -= 50;
[UIView beginAnimations:nil context:NULL]; // animate the following:
button.frame = tempSize; // move to new location
[UIView setAnimationDuration:0.3];
[UIView commitAnimations];
【讨论】:
嘿,谢谢你,我用你所说的模态演示做了它,并使用了一点动画。【参考方案2】:它不是一个“浮动按钮”,它是另一个带有黑色底色和 alpha 0.3 的视图。 您添加按钮并将视图添加到原始视图或您的窗口层,如下所示。
UIWindow *window = [UIApplication sharedApplication].keyWindow;
_bgView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, Main_Screen_Width, Main_Screen_Height)];
//add your buttons here on the _bgView
//create buttons
_bgView.backgroundColor = [UIColor colorWithRed:1 green:1 blue:1 alpha:0.3];
[window addSubview:_bgView];
应该达到你想要的效果
【讨论】:
或者我们可以在上面展示一个模态演示吗?【参考方案3】:arunjos007 的 Swift 版本回答:
viewControllerObj.modalPresentationStyle = .overCurrentContext
present(viewControllerObj, animated: true)
【讨论】:
以上是关于在 iOS 中创建浮动操作按钮的主要内容,如果未能解决你的问题,请参考以下文章
浮动操作按钮 onClick 上的 viewPagerAdapter 片段 NullPointerException
如何在 iOS 的 swift 中将浮动操作按钮放在 tableView 中?