我的表格视图菜单上有一个“登录”按钮。当用户触摸时,它会显示我需要的登录视图。当用户成功登录时,重新加载表格视图以隐藏“登录”按钮并显示“帐户”按钮并反复使用swift
答案 0 :(得分:1)
我不明白你用按钮做什么。我和我的团队通常像菜单项一样使用表格单元格。像这个例子
我定义了一个菜单项数组
var menuItems = ["Sign in", "My abc", "My def"]
登录功能的代码,删除"登录"并添加"我的帐户"。在我的简单示例中,我使用didSelectRowAtIndex并检查"登录"菜单
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// sign in item
if indexPath.row == 0 && menuItems[0] == "Sign in" {
let alert = UIAlertController(title: "Signing in", message: "Press OK to sign in", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: nil))
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: { (UIAlertAction) -> Void in
self.menuItems.removeAtIndex(0)
self.menuItems.insert("My Account", atIndex: 0)
tableView.reloadData()
}))
presentViewController(alert, animated: true, completion: nil)
}
}
希望这有帮助。
答案 1 :(得分:0)
我解决的方法是用viewWillAppear()
方法重新加载表视图
class MenuViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
//Since i didnt use UITableViewController...
@IBOutlet weak var menuTableView: UITableView!
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
menuTableView.reloadData()
}
}
其他一些方法可以处理注销,登录和表视图列表项