UITextfield有奇怪的效果

时间:2016-04-23 18:27:52

标签: ios swift uitextfield

我正在努力在白色白色图片上呈现带有背景颜色的文本字段,但是,我很容易得到类似这样的内容strange effect

我用来添加背景图片和文本字段的代码就像这样

    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)

谢谢!

2 个答案:

答案 0 :(得分:0)

你没有试试这个:

self.TextField.backgroundColor = UIColor.blackColor();

或者您可以在“界面”构建器中执行此操作。由于大多数视图都有某种类似的界面来改变它的外观

enter image description here

答案 1 :(得分:0)

很有可能你的问题是这一行(使用过两次):

CGAffineTransformMakeScale(110, 110)

缩小对象的参数应小于1.0,大于1.0以使对象变大。 110比原来大110倍。因此,您可能会拉伸图像,因此您只能看到前几个像素伸展出来,从而为您提供效果。尝试更改为1.1以使其更大一些。如果没有看到您的实际图像,那只是猜测您正在尝试实现的目标。

另外,请将此更改为alpha += 1.0alpha = 1.0。 Alpha应该只是介于0.0和1.0之间的值,因此将1.0添加到之前的任何值都会使其大于1.0并且会给您带来意想不到的副作用(当尝试再次使其透明时很可能出现问题)。

还有另一个:将此行self.view.addSubview(self.textFieldBackground)移出动画关闭。在闭包之前添加视图(它是透明的,因为alpha为0),因为视图的实际添加不是可动画的动作。