【问题标题】:iOS - Floating Single ButtoniOS - 浮动单按钮
【发布时间】:2016-07-31 14:08:01
【问题描述】:

我需要在我的 iPhone 应用程序中添加一个浮动按钮,我在网上看到了很多这样的库:https://cocoapods.org/pods/LiquidFloatingActionButton

但我需要它只是一个按钮,而不是菜单 - 你知道有没有其他库可以做到这一点?或者一种方法来定制一个当前的库来做我需要的?

谢谢!

【问题讨论】:

  • 先创建按钮,然后获取关键窗口,然后调用keywindow.addSubview(button)。将按钮的框架定义到您希望它浮动的位置。
  • 阿哈利姆神杖 +1。

标签: ios swift swift2


【解决方案1】:
import UIKit

final class AppDelegate: NSObject, UIApplicationDelegate {
    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {

        let buttonDiameter: CGFloat = 44.0
        let floatingButton = UIButton(frame: CGRect(x: 0.0, y: 0.0, width: buttonDiameter, height: buttonDiameter))
        floatingButton.layer.cornerRadius = buttonDiameter / 2.0
        floatingButton.backgroundColor = .redColor()
        window?.addSubview(floatingButton)

        return true
    }
}

此示例将在应用的左上角添加一个浮动按钮。

这段代码的重要方面是我将按钮添加到UIWindow

您可以从通过属性window 将视图添加到窗口的任何UIViewController 访问应用程序的window

要在将视图控制器添加到 window 时获得通知,您可以覆盖该函数:

didMoveToWindow()

【讨论】:

  • 嘿!谢谢你,我试过了,但没有出现,有什么问题吗? @无限詹姆斯
  • 请不要按字面意思理解代码。此代码将不起作用,因为其他视图将添加到它之上。
  • 像我描述的那样使用视图控制器的window 属性。
  • 所以这段代码就够了?我必须在每个视图控制器中添加什么才能使其工作?
  • 不要认为向窗口添加对象是个好主意。 window 应该是 viewcontrollers 的容器。
【解决方案2】:

有一种方法是使用 KCFloating 操作按钮并将 tapGestureRecognizer 添加到包含此按钮的视图中。

因此,只需添加 KCFloatingActionButton 的 pod 并添加包含它的另一个视图,就可以像 android 一样拥有一个浮动操作按钮。

如果您需要更多详细信息来解决此问题,请告诉我,我会尽力提供帮助

示例图片

【讨论】:

    【解决方案3】:

    仅复制并粘贴此代码

        override func viewDidAppear(_ animated: Bool) {
    
                layoutFAB()
            }
    
            func layoutFAB() {
                let item = KCFloatingActionButton()
                item.buttonColor = UIColor(red: 188/255, green: 46/255, blue: 35/255, alpha: 1)
            }
    
            override func viewDidLoad() {
                super.viewDidLoad()
    
                let Fab = KCFloatingActionButton()
    
                Fab.addItem("a", icon: UIImage(named: "a")){ item in
                   print("a")
                }
                }
    
                self.view.addSubview(Fab)
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多