如何在Swift中将静止图像放在滚动图像后面

时间:2016-08-26 01:09:43

标签: ios swift

我正在尝试将我为c#编写的人工地平线应用移植到swift中。它有一个不移动的边框图像,后面是一个可以在挡板后面上下移动的地平线图像。 "窗口"表圈的一部分是黄色的,因此在c#中,我只是将黄色不透明。

在swift中我用UIScrollView中的地平线说明了但是我不知道如何使用不应该滚动的第二个图像。

在这些快速的东西上,不是所有人都能加快速度,有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

let view: UIView = UIView.init(frame: CGRect(x: 0, y: 0, width: 500, height: 500))
let scrollView = UIScrollView.init(frame: view.bounds)
view.addSubview(scrollView)
let backImage: UIImage = fromColor(UIColor.redColor(), size: CGSize(width: 1000, height: 1000))
let backImageView: UIImageView = UIImageView.init(image: backImage)
scrollView.addSubview(backImageView)
scrollView.contentSize = CGSize.init(width: backImage.size.width, height: backImage.size.height)

let frontImage: UIImage = fromColor(UIColor.blueColor(), size: CGSize(width: 100, height: 100))
let layer: CALayer = CALayer.init()
layer.frame = CGRect.init(x: view.center.x - 50, y: view.center.y - 50, width: 100, height: 100)
layer.contents = frontImage.CGImage
view.layer.addSublayer(layer)


func fromColor(color: UIColor, size: CGSize) -> UIImage {
  let rect = CGRect(x: 0, y: 0, width: size.width, height: size.height)
  UIGraphicsBeginImageContext(rect.size)
  let context = UIGraphicsGetCurrentContext()
  CGContextSetFillColorWithColor(context, color.CGColor)
  CGContextFillRect(context, rect)
  let img = UIGraphicsGetImageFromCurrentImageContext()
  UIGraphicsEndImageContext()
  return img
}

fromColor是一种辅助方法。

代码结果

enter image description here