【发布时间】:2015-10-15 11:15:47
【问题描述】:
当我第一次运行我的应用程序时,我从服务器检索了一个数字并将其显示在我的 UIButton 标签中。将此视为红色 UIButton 上显示的通知编号。
当我在应用程序中删除通知时,我希望我的 UIButton 标签减 1。我可以在删除通知后从服务器获取减量后的数字,但我无法在 UIButton 上显示这个新数字.首次触发应用时,该按钮始终显示数字。
我在删除通知以更新 UIButton 后调用 makeButtonView() 方法
func makeButtonView(){
var button = makeButton()
view.addSubView(button)
button.tag = 2
if (view.viewWithTag(2) != nil) {
view.viewWithTag(2)?.removeFromSuperview()
var updatedButton = makeButton()
view.addSubview(updatedButton)
}else{
println("No button found with tag 2")
}
}
func makeButton() -> UIButton{
let button = UIButton(frame: CGRectMake(50, 5, 60, 40))
button.setBackgroundImage(UIImage(named: "redBubbleButton"), forState: .Normal)
API.getNotificationCount(userID) {
data, error in
button.setTitle("\(data)", forState: UIControlState.Normal)
}
button.addTarget(self, action: "targetController:", forControlEvents: UIControlEvents.TouchUpInside)
return button
}
【问题讨论】:
-
我看不到从视图中添加/删除按钮并创建两次按钮的意义。无论如何,updatedNotificationButton 是什么? var updatedButton = makeButton() view.addSubview(updatedNotificationButton)
-
我这样做是因为标签没有重置为新数字。它总是相同的数字。我以为我需要杀死按钮并重新创建它,但这也无济于事。我修复了你指出的代码。