PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Thursday, September 29, 2022

[FIXED] Where to set UiTextField delegate method in custom UiView

 September 29, 2022     swift, tvos, uitextfielddelegate     No comments   

Issue

Error occurs when I set UITextField delegate.

My code is:

import UIKit

class UserAlertVC: UIView , UITextFieldDelegate {
/*
// Only override draw() if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
override func draw(_ rect: CGRect) {
    // Drawing code
}
*/

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

}

required init(coder aDecoder: NSCoder) {

    super.init(coder: aDecoder)!
    self.addBehavior()

}


func addBehavior (){
    print("Add all the behavior here")
    userNameTxtField.delegate = self
    passwordTxtField.delegate = self

}


func textFieldShouldReturn(textField: UITextField) -> Bool {

    return true
}

func textFieldDidBeginEditing(textField: UITextField) {

}


@available(tvOS 10.0, *)
func textFieldDidEndEditing(textField: UITextField, reason: UITextFieldDidEndEditingReason) {

}

@IBAction func actionOnCancel(sender: UIButton) {
    self .removeFromSuperview()


}


@IBAction func actionOnProceed(sender: UIButton) {
    self .removeFromSuperview()
UserAlertVC.showAlertForUser()


}

@IBOutlet var userNameTxtField: UITextField!

@IBOutlet var passwordTxtField: UITextField!

static func showAlertForUser() {

    let alert       = NSBundle.mainBundle().loadNibNamed("KeyboardViewController", owner: self, options: nil)!.last as! UIView
    let windows     = UIApplication.sharedApplication().windows
    let lastWindow  = windows.last
    alert.frame     = UIScreen.mainScreen().bounds
    lastWindow?.addSubview(alert)


}
}

Error message is:

fatal error: unexpectedly found nil while unwrapping an Optional value

I have used Custom Alert View using XIB.pls suggest any solution.


Solution

Firstly take a look at life cycle of the view. Depending on this it is possible to highlight that method awakeFromNib is quite suitable because:

The nib-loading infrastructure sends an awakeFromNib message to each object recreated from a nib archive, but only after all the objects in the archive have been loaded and initialized. When an object receives an awakeFromNib message, it is guaranteed to have all its outlet and action connections already established.



Answered By - Oleg Gordiichuk
Answer Checked By - Marilyn (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing