簡體   English   中英

UIButton在viewDidLoad()中始終為nil

[英]UIButton is always nil in viewDidLoad()

我已在故事板上的UIController中添加了UIButton。 然后,我為其創建了IBOutlet連接。 然后在viewDidLoad()中,我想使用創建的按鈕進行操作,但它始終為nil。

class LeftWeekViewController: UIViewController {

    @IBOutlet weak var tableView: UITableView!
    @IBOutlet weak var weekNumberBtn: PassThroughButton!
    @IBOutlet weak var weekNumberBtnBottomSpacing: NSLayoutConstraint!
    @IBOutlet weak var plusBtn: UIButton!

    var data: [String] = ["sadasd", "adgfdgfdg", "hgfhgfhgfh", "sadasd", "adgfdgfdg", "hgfhgfhgfh", "sadasd", "adgfdgfdg", "hgfhgfhgfh"]
    var sections: [String] = ["[Ma 26 Mei]", "[Di 27 Mei]", "[Wo 28 Mei]"]

    override func viewDidLoad() {
        super.viewDidLoad()

        let calender = NSCalendar.currentCalendar()
        let dateComponent = calender.components(.CalendarUnitWeekOfYear  | .CalendarUnitDay | .CalendarUnitMonth | .CalendarUnitYear, fromDate:NSDate())
        weekNumberBtn.setTitle("\(dateComponent.weekOfYear)", forState: UIControlState.Normal)
        weekNumberBtn.layer.cornerRadius = weekNumberBtn.frame.height / 2
        weekNumberBtn.clipsToBounds = true
        self.view.bringSubviewToFront(weekNumberBtn)
        self.tableView.separatorStyle = .None

        weekNumberBtnBottomSpacing.constant = -1 * (self.tableView(self.tableView, heightForHeaderInSection: 0) - 8)

        tableView.registerNib(UINib(nibName: "LeftWeekTableViewCell", bundle: nil), forCellReuseIdentifier: "LeftWeekCell")

        var pencilImage = UIImage(named: "pencil")!
        pencilImage = resizeImage(pencilImage, size: CGSize(width: plusBtn.frame.width - 15, height: plusBtn.frame.height - 15))

        plusBtn.layer.cornerRadius = plusBtn.frame.size.height / 2
        plusBtn.clipsToBounds = true
        plusBtn.setImage(pencilImage, forState: .Normal)
        plusBtn.contentMode = UIViewContentMode.Center
        plusBtn.layer.shadowColor = UIColor.blackColor().CGColor
        plusBtn.layer.masksToBounds = false
        plusBtn.layer.shadowOffset = CGSizeMake(0, 15)
        plusBtn.layer.shadowRadius = 10
        plusBtn.layer.shadowOpacity = 0.4

        self.view.bringSubviewToFront(plusBtn)
    }
    //...
}

我以相同的方式創建的第一個weekNumberBtn不是nil,但是第二個'plusBtn'總是nil。 我不知道怎么了 有人能幫我嗎?

更新::

我已經清理並重建了項目,並且在創建ViewController時拋出了錯誤的xib文件名。 我已經更改了xib文件名,並且一切正常。

選擇按鈕,然后在其上單擊鼠標右鍵,以查看插座是否存在。 如果沒有可用的連接,則將插座連接到tha按鈕。 即使它不起作用,請刪除現有的插座,然后再次創建插座。 放置斷點並調試它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM