ios - 如何更改特定 UITextField 的闪烁条/线的大小?

标签 ios swift uitextfield caret


我正在开发一个项目(Swift4,Xcode 9.2),它具有获取文本输入的功能并且闪烁的条/线应该是大尺寸(它应该是正方形而不是条/线),所以我为文本放置了一个 UITextField,但我不明白如何更改该闪烁线/条的大小。

那么,是否可以更改线/条的大小?如果是,那么该怎么做? 我知道如何更改该线/条的颜色,但这是不同的。

最佳答案

您可以通过覆盖 cursorframe 方法来更改大小,如下所示,

class CustomTextField: UITextField {

    override func caretRect(for position: UITextPosition) -> CGRect {
        var rect = super.caretRect(for: position)
        let size = CGSize(width: 10, height: 50)
        // Calculating center y
        let y = rect.origin.y - (size.height - rect.size.height)/2
        rect = CGRect(origin: CGPoint(x: rect.origin.x, y: y), size: size)
        return rect
    }
}

xib/storyboard 身份检查器中为该 textField 设置 CustomTextField 类。

关于ios - 如何更改特定 UITextField 的闪烁条/线的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2521239/

相关文章:

ios - "git: error: Failed to determine realpath of '/Applications/.../iPhoneOS13.0.sdk' (errno=没有这样的文件或目录)\n

iphone - 为什么在创建 UIWebView 时清除 NSUserDefaults 会导致 EXC_CRASH?

xcode - iOS (Swift) - View Controller 上的选项卡式导航

ios - 快速将文本字段添加到 UITableViewCell

ios - pickerView didSelectRow 正在输入错误的 UITextField

ios - 将 AVPlayerItem 保存到文档目录

iphone - 没有完成按钮的 UIKeyboardTypeNumberPad

iOS NSURLConnection 错误-1002

ios - swift 4 : "Non-nominal type ' T' does not support explicit initialization"

ios - 从 UIButton 引用中心 x/y 点不正确