如何将背景图像添加到UIControl

时间:2015-12-01 23:32:51

标签: ios swift uiview swift2 uicontrol

我创建第三方键盘,我尝试添加背景到我的键。我使用UIControl作为我的密钥,没有故事板。

我有几种类型的按钮,并尝试为我的角色添加背景UIView

let img = UIImage(named:"KeyBackground")
            var bgImage: UIImageView?
            bgImage = UIImageView(image: img)
            bgImage!.frame = keyboardKey.frame
            keyboardKey.addSubview(bgImage!)
            keyboardKey.sendSubviewToBack(bgImage!)

            keyboardKey.backgroundColor = UIColor.clearColor()

但是没有工作。

我尝试添加这样的背景图片:

keyboardKey.backgroundColor = UIColor(patternImage: UIImage(named:"KeyBackground")!)

但看起来很糟糕...... enter image description here

我做错了什么?

2 个答案:

答案 0 :(得分:1)

背景看起来像是因为图像的大小比每个键的大小小一点,并且图像被平铺(重复以填充空间 - 因此每个键包含背景图像和周围的部分瓦片在右边,底部和右下角。)

UIColor(patternImage:) docs

  

在绘制过程中,图案颜色中的图像会根据需要平铺以覆盖给定区域。

您的第一个解决方案可能无效,因为您将UIImageView作为最底层的子视图插入 - 我假设另一个(不透明)视图位于其上方。你使用什么类型的UIControl?例如,UIButton已经提供了一些开箱即用的“背景图像”支持。

答案 1 :(得分:0)

哦,这很容易。我的keyboardKey.frame,在调用此方法时,具有frame = 0,0,0,0。

夜晚工作不好的时候:)