如何在标签栏上方的所有视图控制器中添加公共视图

时间:2016-09-17 02:18:32

标签: swift xcode swift2

我需要添加一个包含一些按钮的视图,并显示在所有视图控制器中。视图应包含一个水平滚动视图,其中放置了所有按钮。

视图需要位于标签栏的顶部。与图像The player in the apple music application, on top of the tab bar in the bottom

中的类似

感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:3)

试试这个:

这是Swift 3代码。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.

    view.frame = CGRect(x: 0, y: UIScreen.main.bounds.height-100, width: UIScreen.main.bounds.width , height: 100)
    //window?.willRemoveSubview(view)

    //Add ScrollView to View
    let scrollview = UIScrollView(frame: CGRect(x: 0, y: 0, width: view.frame.size.width, height: view.frame.size.height))
    scrollview.contentSize = CGSize( width: view.frame.size.width*2, height: view.frame.size.height)
    scrollview.backgroundColor = UIColor.blue
    scrollview.removeFromSuperview()
    view.addSubview(scrollview)

    //Add Button to Scrollview
    let btn = UIButton(frame: CGRect(x: scrollview.frame.size.width/3, y: scrollview.frame.size.height/2, width: 50, height: 30))
    btn.setTitle("Heloo", for: UIControlState.normal)
    btn.setTitleColor(UIColor.red, for: UIControlState.normal)
    let btn2 = UIButton(frame: CGRect(x: scrollview.frame.size.width/2, y: scrollview.frame.size.height/2, width: 50, height: 30))
    btn2.setTitle("Hiiii", for: UIControlState.normal)
    btn2.setTitleColor(UIColor.red, for: UIControlState.normal)
    scrollview.addSubview(btn)
    scrollview.addSubview(btn2)

    window?.makeKeyAndVisible()
    window?.insertSubview(view, at: 0)
    window?.bringSubview(toFront: view)

    return true
}

希望这个帮助

答案 1 :(得分:0)

如果您需要放置视图,需要在运行应用程序的所有时间显示所有控制器的视图,添加 subview 到<您的App代表中的strong> window

<强>优点:

  • 如果顺利完成它会很快
  • 简洁代码

<强>缺点:

  • 需要您创建自己的委托(方法可用于操作 用按钮)
  • 使用自动布局约束更难处理
  • 很多,如果设计工作
  • 很难处理这种情况,当你想要隐藏/显示那个栏,或只是隐藏它在某些视图控制器中

或:

如果你只需要扩展UITabBar并具有滚动功能,那么最好是设置tabbar符合tabbar委托并使用某个库扩展它,例如:

https://github.com/kumapo/ScrollableTabs

使用库的优点:

  • 已经准备好的代表
  • 使用问题已经过充分调试

<强>缺点:

  • 安装工作