【问题标题】:How can I change the color/put things behind my ViewControlller's view (swift)?如何更改 ViewController 视图后面的颜色/放置东西(swift)?
【发布时间】:2017-08-08 13:07:47
【问题描述】:

一图:

我这样做是为了让您可以用手指拖动视图控制器视图(我已经这样做了),但我想知道:

  1. 如何将黑色更改为另一种颜色
  2. 如何将图像放在视图后面(我想这样做,因此如果您拖动视图,您会看到一张图片)。

我该怎么做?我想我可能需要在这个视图后面直接放置另一个视图,然后使当前视图控制器成为子视图?

【问题讨论】:

  • 您可以将背景图片设置为视图控制器的view,然后制作您想要移动的子视图。
  • 你可以通过在后端添加imageview来实现。

标签: ios swift xcode uiview uiviewcontroller


【解决方案1】:

您可以将图像设置为ViewController 的背景,方法是在Storyboard 中将ViewController 的主视图的类从UIView 更改为UIImageView,并将图像设置为@987654326 @ 的image 属性或通过将UIImageView 添加到与view 大小相同的ViewController

【讨论】:

    【解决方案2】:

    所谓的“背景色”,我想你的意思是当你把VC拖走时显示的黑色,对吧?

    那是你的 VC 正在运行的 UIWindow 的颜色。它是每个视图的超级视图。

    要更改窗口颜色,只需转到您的AppDelegate.swift 并更改即可:

    window?.backgroundColor = .red
    

    要添加背景图片,您只需添加一个UIImageView 作为window 的子视图。

    if let window = self.window
        let imageView = UIImageView(frame: window.frame)
        imageView.image = ...
        window.addSubview(imageView)
    }
    

    【讨论】:

      【解决方案3】:

      如果您不想处理子视图并且只使用视图控制器,您可以尝试在普通(固定位置)视图控制器上呈现可拖动的视图控制器。您可以这样做(从普通视图控制器调用此代码以将可拖动视图控制器呈现在自身之上):

      let storyboard = UIStoryboard(name: "Main", bundle: nil)
      
      // Set the draggable controller's identifier in Main.storyboard
      let dragController = storyboard.instantiateViewController(withIdentifier: "DragController")
      
      // Present the draggable view controller over the current one
      dragController.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext
      dragController.modalTransitionStyle = UIModalTransitionStyle.coverVertical
      self.present(dragController, animated: true, completion: nil)
      

      使用此代码,然后设置普通视图控制器的背景图像。希望这会有所帮助:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-03
        • 1970-01-01
        • 2021-02-13
        相关资源
        最近更新 更多