【发布时间】:2015-08-20 09:03:11
【问题描述】:
我在 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 文件名,一切正常。
【问题讨论】:
-
你检查连接了吗?
-
@anhtu 是的,这里是it is。
-
尝试产品->清理并重建项目
-
尝试重新连接,然后重建。
-
有时,Xcode 不会更新 xib 中的更改。我不知道为什么。也许需要创建另一个问题。
标签: ios swift uibutton viewdidload