我在 Storyboard中的 ViewController 中添加了一个 UIButton。然后我为它创建了一个 IBOutlet 连接。然后在 viewDidLoad() 中,我想使用创建的按钮进行操作,但它始终为零。
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 文件名,一切正常。
最佳答案
Select the Button and Right click on it see the outlets prepely is there or not. if connections are not available the give the outlet to tha button. even if it not working remove exist outlets And Create outlet again. put the break points and Debug it
关于ios - UIButton 在 viewDidLoad() 中始终为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32113996/