我正在努力在白色白色图片上呈现带有背景颜色的文本字段,但是,我很容易得到类似这样的内容
我用来添加背景图片和文本字段的代码就像这样
var textFieldBackground = UIImageView()
var textField = UITextField()
textFieldBackground.image = UIImage(named: "textFieldBackground")
textFieldBackground.frame.size.width = 3.0
textFieldBackground.frame.size.height = 1.75
textFieldBackground.center.x = view.center.x
textFieldBackground.center.y = view.center.y + 120
textFieldBackground.alpha = 0.00
textField.text = "Enter your name"
textField.frame.size.width = 2.5
textField.frame.size.height = 0.5
textField.center.x = view.center.x
textField.center.y = view.center.y + 120
textField.alpha = 0.00
UIView.animateWithDuration(1.0, delay:3.0,usingSpringWithDamping: 0.5, initialSpringVelocity: 0.0,options: [], animations: {
self.view.addSubview(self.textFieldBackground)
self.textFieldBackground.alpha += 1.0
self.textFieldBackground.transform = CGAffineTransformMakeScale(110, 110)
self.view.addSubview(self.textField)
self.textField.alpha += 1.0
self.textField.transform = CGAffineTransformMakeScale(110, 110)
}, completion: nil)
谢谢!
答案 0 :(得分:0)
你没有试试这个:
self.TextField.backgroundColor = UIColor.blackColor();
或者您可以在“界面”构建器中执行此操作。由于大多数视图都有某种类似的界面来改变它的外观
答案 1 :(得分:0)
很有可能你的问题是这一行(使用过两次):
CGAffineTransformMakeScale(110, 110)
缩小对象的参数应小于1.0,大于1.0以使对象变大。 110比原来大110倍。因此,您可能会拉伸图像,因此您只能看到前几个像素伸展出来,从而为您提供效果。尝试更改为1.1以使其更大一些。如果没有看到您的实际图像,那只是猜测您正在尝试实现的目标。
另外,请将此更改为alpha += 1.0
至alpha = 1.0
。 Alpha应该只是介于0.0和1.0之间的值,因此将1.0添加到之前的任何值都会使其大于1.0并且会给您带来意想不到的副作用(当尝试再次使其透明时很可能出现问题)。
还有另一个:将此行self.view.addSubview(self.textFieldBackground)
移出动画关闭。在闭包之前添加视图(它是透明的,因为alpha为0),因为视图的实际添加不是可动画的动作。