iOS使用阴影舍入UITextField

时间:2016-02-11 07:37:05

标签: ios swift

我想为我的UITextField添加一个阴影效果,目前我实现的是: enter image description here
正如你所看到的,角落里的阴影并不圆润。我的代码:

        mNickname.layer.borderWidth = 1
        mNickname.layer.borderColor = UIColor.whiteColor().CGColor
        mNickname.layer.cornerRadius = 3

        mNickname.layer.masksToBounds = false
        mNickname.layer.shadowRadius = 3.0
        mNickname.layer.shadowColor = UIColor.blackColor().CGColor
        mNickname.layer.shadowOffset = CGSizeMake(1.0, 1.0)
        mNickname.layer.shadowOpacity = 1.0

6 个答案:

答案 0 :(得分:23)

好的,我发现了问题。 事实证明我正在使用 矩形边框:

enter image description here

正确的应该是:

enter image description here

代码是:

mNickname.layer.masksToBounds = false
mNickname.layer.shadowRadius = 3.0
mNickname.layer.shadowColor = UIColor.blackColor().CGColor
mNickname.layer.shadowOffset = CGSizeMake(1.0, 1.0)
mNickname.layer.shadowOpacity = 1.0

结果:

enter image description here

答案 1 :(得分:2)

试试这个,代码在目标C中,但同样适用于swift

self.textField.layer.shadowColor = [[UIColor blackColor] CGColor];
    self.textField.layer.shadowOffset = CGSizeMake(0.0, 1.0);
    self.textField.layer.shadowOpacity = 1;
    self.textField.layer.shadowRadius = 0.0;

答案 2 :(得分:1)

尝试将shadowOpacity更改为0.5 另外,您可以发送此textField的完全自定义吗?

答案 3 :(得分:0)

你试过这个吗? mNickname.layer.masksToBounds = true;

答案 4 :(得分:0)

您可以使用此扩展名

model.save('model.h5')
model.save_weights('model_weights.h5')

答案 5 :(得分:0)

extension UITextField {

    func addShadowToTextField(color: UIColor = UIColor.gray, cornerRadius: CGFloat) {

    self.backgroundColor = UIColor.white
    self.layer.masksToBounds = false
    self.layer.shadowColor = color.cgColor
    self.layer.shadowOffset = CGSize(width: 0, height: 0)
    self.layer.shadowOpacity = 1.0
    self.backgroundColor = .white
    self.layer.cornerRadius = cornerRadius
   }
}

添加扩展名和用法:

    dateTxtFld.addShadowToTextField(cornerRadius: 3)
    dateTxtFld.addShadowToTextField(color: UIColor.blackColor, cornerRadius: 3)