Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UITextField边框以Swift格式指定半径_Swift_Xcode_Uitextfield_Border_Radius - Fatal编程技术网

UITextField边框以Swift格式指定半径

UITextField边框以Swift格式指定半径,swift,xcode,uitextfield,border,radius,Swift,Xcode,Uitextfield,Border,Radius,由于某些原因,我希望指定30的角半径将不会显示在Swift中Xcode编码的主板上 如果我使用passWordTextField.borderStyle=UITextField.borderStyle.roundedRect,则会显示textfield。这将不允许我指定角半径/borderStyle值,但如果我使用passWordTextField.borderStyle=UITextField.borderStyle.initrawValue:30 如果您还想在故事板上看到更改,可以使用自定义

由于某些原因,我希望指定30的角半径将不会显示在Swift中Xcode编码的主板上

如果我使用passWordTextField.borderStyle=UITextField.borderStyle.roundedRect,则会显示textfield。这将不允许我指定角半径/borderStyle值,但如果我使用passWordTextField.borderStyle=UITextField.borderStyle.initrawValue:30


如果您还想在故事板上看到更改,可以使用自定义textfield类

public class CustomTextField: UITextField {
    public override init(frame: CGRect) {
      super.init(frame: frame)
      prepare()
    }

    required init?(coder decoder: NSCoder) {
      super.init(coder: decoder)
      prepare()

    private func prepare() {
       layer.cornerRadius = 30
    }
}
现在,在故事板上,您可以将Identity inspector中textfield的类更改为CustomTextField

您需要设置@IBDesignable和prepareforPrinterFaceBuilder,以反映界面生成器中的文本字段。以下是步骤: 1.创建UITextField的子类,如下所示

import UIKit
@IBDesignable
class CostumTxtField: UITextField {
    override func prepareForInterfaceBuilder() {
        makeCorenerRadius()
    }
    override func awakeFromNib() {
        super.awakeFromNib()
        makeCorenerRadius()

    }


 override init(frame: CGRect) {
      super.init(frame: frame)

    autocorrectionType = .no
    keyboardType = .default
    returnKeyType = .done
    clearButtonMode = .whileEditing
    contentVerticalAlignment = .center
    makeCorenerRadius()

    }

    required init?(coder decoder: NSCoder) {
      super.init(coder: decoder)

    func makeCorenerRadius(){
        backgroundColor = .white
        layer.cornerRadius = 20

}
}

在视图控制器中,按如下方式编辑函数:
import UIKit
@IBDesignable
class CostumTxtField: UITextField {
    override func prepareForInterfaceBuilder() {
        makeCorenerRadius()
    }
    override func awakeFromNib() {
        super.awakeFromNib()
        makeCorenerRadius()

    }


 override init(frame: CGRect) {
      super.init(frame: frame)

    autocorrectionType = .no
    keyboardType = .default
    returnKeyType = .done
    clearButtonMode = .whileEditing
    contentVerticalAlignment = .center
    makeCorenerRadius()

    }

    required init?(coder decoder: NSCoder) {
      super.init(coder: decoder)

    func makeCorenerRadius(){
        backgroundColor = .white
        layer.cornerRadius = 20

}
}

func customTextField (xco: CGFloat, yco: CGFloat, widthLength: CGFloat, heightLength: CGFloat, fontSize: CGFloat) {

    let passWordTextField =  UITextField(frame: CGRect(x: xco, y: yco, width: widthLength, height: heightLength )) {

    passWordTextField.placeholder = "Enter text here" //set placeholder text
    passWordTextField.font = UIFont.systemFont(ofSize: fontSize) // set font size of text field

    passWordTextField.delegate = self as? UITextFieldDelegate
    self.view.addSubview(passWordTextField)
}