How to change the size of blinking bar/line for specific UITextField?
(Swift4,Xcode 9.2)
which has a feature to get text input and the blinking bar/line should be of big size (it should be Square instead of bar/line)
, so i placed a UITextField
for Text but i don't understand how to change the size of that blinking line/bar.
So, is it possible to change the size of line/bar? and if Yes then how to do it? i kno开发者_JAVA百科w how to change the color of that line/bar but this is something different.
You can change the size by overriding
the frame
method for cursor
as follows,
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
}
}
Set CustomTextField
class in xib/storyboard
identity inspector for that textField
.
We can't change the cursor height, but we can do some trick, select your textfield and change your textfield border style as UITextBorderStyleNone
Check the below link which is already given answer
there after increase the font size of your textfield whatever you want, then you get the output as
There are some unnecessary lines of codes, so this is the revised:
class CustomTextField: UITextField {
override func caretRect(for position: UITextPosition) -> CGRect {
var rect = super.caretRect(for: position)
rect = CGRect(x: rect.origin.x, y: .zero, width: 15, height: 30)
return rect
}
}
精彩评论