Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 6 years ago.
Improve this question
I want to display a picker next to a textfield, when the user starts editig. After editing, the picker disappears.
Therefore I changed the width of a textfield like this in textFieldDidBeginEditing:
func textFieldDidBeginEditing(_ textField: UITextField)
{ print ("textFieldDidBeginEditing")
let newSize = CGSize(width: 90.0, height: textfield.frame.height)
let newFrame = CGRect(origin: textfield.frame.origin, size: newSize)
textfield.frame = newFrame
}
In textFieldDidEndEditing the width is reset to the old value.
This works fine the time (beginEditing, endEditing)
In following attempts the with is not changed again (the print statement is reached)
What´s going wrong.
Everything works fine in my test project, try insert textfield.setNeedsDisplay() after set new frame.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
I am trying to add a card view to the rows of the section, where for the first row I want the top left and top right shadow with corner radius and the last row of the section will have the bottom left and bottom right shadow with corner radius. So in the middles rows will have only left and right shadow without corner radius.
Try this it is working for me
yourRowView.layer.shadowOpacity = 0.8
yourRowView.layer.shadowOffset = CGSize(width: 0, height: 3)
yourRowView.layer.shadowRadius = 4.0
let shadowRect: CGRect = imageView.bounds.insetBy(dx: 0, dy: 4)
yourRowView.layer.shadowPath = UIBezierPath(rect: shadowRect).cgPath
Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 3 years ago.
Improve this question
I have a problem: my scroll view scrollable, when content is fully visible. What should i do, to enable scrolling, when some part of content is hidden?
This is the solution. I faced the same issue few months back.
public override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
ScrollView.contentSize = CGSize(width: self.view.frame.width, height: self.view.frame.height)
ScrollView.isScrollEnabled = true
ScrollView.showsVerticalScrollIndicator = false
}
Enjoy!
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 3 years ago.
Improve this question
I have 2 UIButton as shown in below image. Here I need to customize exactly the same for both, mean texts, how could I do this.
Suggest how could I do this either in storyboard (using label/view ..) or programmatically. Guide me with some piece of code for NSAttributtedstring in case of label or button text as shown in image.
You can use this below func :
extension UILabel {
func setAttributes(price : String) {
let font:UIFont? = UIFont.boldSystemFont(ofSize: 22)
let fontSuper:UIFont? = UIFont.boldSystemFont(ofSize: 15)
let aDotRange = (price as NSString).range(of: ".")
let attString:NSMutableAttributedString = NSMutableAttributedString(string: price, attributes: [.font:font!])
attString.setAttributes([.font:fontSuper!,.baselineOffset:5], range: NSRange(location:0,length:1))
attString.setAttributes([.font:fontSuper!,.baselineOffset:5],
range: NSRange(location:aDotRange.location,length:4))
attString.setAttributes([.font:font!],
range: NSRange(location:1,length:aDotRange.location - 1 ))
attString.setAttributes([.font:fontSuper!],
range: NSRange(location:aDotRange.location + 4,
length: (price.count) - (aDotRange.location + 4) ))
self.attributedText = attString
}
}
Dummy code :
lblPrice.setAttributes(price: "$249.99 / mon")
lblPrice.layer.cornerRadius = 4
lblPrice.layer.borderWidth = 1.0
lblPrice.layer.borderColor = UIColor.blue.cgColor
lblPrice2.setAttributes(price: "$999.99 / 6 mo")
lblPrice2.layer.cornerRadius = 4
Output :
You can use UIViews and UILabels for designing the buttons and add tapGestures to the UIViews for User interactions.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 4 years ago.
Improve this question
QLPreviewController navigationBar Title showing current page number like 2 of 6 but I want to change this title to any String like current file name.
Try this
let lblNavTitle = UILabel(frame: CGRect(x: 60, y: 10, width: view.frame.size.width-110, height: 20))
lblNavTitle?.textAlignment = .center
lblNavTitle?.lineBreakMode = .byTruncatingMiddle
lblNavTitle?.text = "File Name"
navigationItem.titleView = lblNavTitle
OR
Simply set title property like
self.title = "File Name"
May be it will work for you
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
Can anyone suggest me how to create a 4 digit pin entry screen like One time password, User will enter and one circle will be checked/darken.
I know I can create this by using images and hidden text field. But I am unable to decide best way for the same.
Any help will be appreciated.
Imagine you have a UITextField. Getting the user's input to show up as black dots (and not expose their information) is as easy as doing this (assuming the UITextField is called field, and that you're using Swift).
field.secureTextEntry = true
Honestly I'm not totally sure what you're asking but this is my best guess.
My best guess to achieve this using image. You can simply add image on your UITextField's subview.
func addImageToTextField(txtPin : UITextField)
{
let imageView = UIImageView();
let image = UIImage(named: "darkImage.png");
imageView.image = image;
imageView.frame = CGRect(x: 0, y: 0, width: txtPin.frame.width, height: txtPin.frame.height)
txtPin.addSubview(imageView)
}
And call this method from textFieldshouldChangeCharactersInRange
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
textField.textColor = UIColor.clearColor()
if (!string.isEmpty) {
self.addImageToTextField(textField)
}
Similarly you can do the same if user hits back button to clear the textfield
I have done this and works like a charm for me. Cheers !! happy coding.