Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.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
Ios 如何向UIAlertController中的UITextField添加边距?_Ios_Swift - Fatal编程技术网

Ios 如何向UIAlertController中的UITextField添加边距?

Ios 如何向UIAlertController中的UITextField添加边距?,ios,swift,Ios,Swift,我目前正在使用文本输入实现UIAlertController。我成功地做到了,没有任何问题。但是,我想改变它的外观,特别是在文本字段之间添加边距 但是,我不希望这些文本字段关闭。问题是,如何在文本字段中添加边距 我的代码和尝试: func createNameChangeSheet(){ var tvName : UITextField? var tvSurname : UITextField? let sheet = UIAlertCon

我目前正在使用文本输入实现UIAlertController。我成功地做到了,没有任何问题。但是,我想改变它的外观,特别是在文本字段之间添加边距

但是,我不希望这些文本字段关闭。问题是,如何在文本字段中添加边距

我的代码和尝试:

func createNameChangeSheet(){
        var tvName : UITextField?
        var tvSurname  : UITextField?

        let sheet = UIAlertController(title: "action", message: "alertView", preferredStyle: .Alert)
        let saveAction = UIAlertAction(title: "OK", style: .Default) { (action) in
            self.changeNameSurname((tvName?.text)!,surname: (tvSurname?.text)!)
        }
        let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)
        sheet.addAction(saveAction)
        sheet.addAction(cancelAction)
        sheet.addTextFieldWithConfigurationHandler { (textField) in
            tvName = textField
            textField.text = self.name

            let margins = UIEdgeInsets(top: 0, left: 0, bottom: 30, right: 0)
            textField.layoutMargins = margins
        }

        sheet.addTextFieldWithConfigurationHandler { (textField) in
            tvSurname = textField
            textField.text = self.surname
        }
        self.presentViewController(sheet, animated: true) {}

    }

默认情况下,UIAlertController视图是不可自定义的,如果您需要自定义输出,那么我们需要使用CustomView或任何

来设置下边距,创建UIView并将子视图添加到UITextField,您可以在整个应用程序中使用扩展

extension UITextField  {
 func textbottommboarder(frame1 : CGRect){
    let border = UIView()
    let width = CGFloat(2.0)
    border.backgroundColor = UIColor.lightGrayColor()
    border.frame = CGRect(x: 0, y: self.frame.size.height - width, width:  frame1.width, height: 2)
    self.layer.addSublayer(border.layer)
    self.layer.masksToBounds = true
 }
}
然后在UITextfields上使用它

txt_username.textbottommboarder(txt_username.frame)

我想我会的。谢谢,谢谢你的回答。我一直在寻找更容易实现的东西,因为它没有那么高的优先级。有机会的时候我会试试的。