【问题标题】:How to add view in side menu table in swift如何快速在侧菜单表中添加视图
【发布时间】:2019-07-30 16:00:34
【问题描述】:

我创建了宽度为 200 的侧菜单表,我可以在其中添加标签以显示菜单项,但在这里我必须在 swift 表中的标签上方添加 uiview。

这是我的代码:

导入 UIKit

class MenuTableViewController: UITableViewController {

var selectedMenuItem : Int = 0

var menuItems = ["Home", "SignIN", "SignUp", "QR Code", "CreateBUsiness", "Services", "Employees", "Settings", "EmployeeTimeoff" ,"Billing", "Raise Request", "MYBusiness"]


override func viewDidLoad() {
    super.viewDidLoad()


    //Customize apperance of table view
    tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
    tableView.separatorStyle = .none
    tableView.backgroundColor = UIColor.blue
    tableView.scrollsToTop = false


    //Preserve selection between presentations
    self.clearsSelectionOnViewWillAppear = false

    tableView.selectRow(at: IndexPath(row: selectedMenuItem, section: 0), animated: false, scrollPosition: .middle)
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
    // Return the number of sections.
    return 1
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // Return the number of rows in the section.
    return menuItems.count
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    var cell = tableView.dequeueReusableCell(withIdentifier: "CELL")

    if (cell == nil) {
        cell = UITableViewCell(style: UITableViewCell.CellStyle.default, reuseIdentifier: "CELL")
        cell!.backgroundColor = UIColor.clear

        cell!.textLabel?.textColor = UIColor.white

    }

    cell!.textLabel?.text = menuItems[indexPath.row]//"ViewController #\(indexPath.row+1)"

    return cell!
}

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return 50.0
}
}

输出是

但我需要这样:

请帮我解决这个问题。

【问题讨论】:

  • 在 tableView 菜单中添加标题视图。只需搜索如何添加标题视图,您将获得大量工作示例。stackoverflow.com/questions/31964941/…
  • @channu,非常感谢,它的工作。也感谢您的链接,它对我有用。
  • WC..快乐编码

标签: swift uitableview uiview side-menu


【解决方案1】:

您可以通过函数func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {}为tableview添加标题

您可以在此标题中自定义和添加任何内容。请尝试让我知道您的下一个问题

【讨论】:

    【解决方案2】:

    实现此目的的方法之一是向表格视图标题添加自定义视图。

    这可以通过在MenuTableViewController 中覆盖viewForHeaderInSection 来完成。

    方法如下:

    1. 使用 xib 文件创建自定义视图,比如“TableViewHeader.xib”
    2. 在 MenuTableViewController 中覆盖 viewForHeaderInSection
    3. 获取对 xib 文件的引用并在 viewForHeaderInSection 函数中返回它。

    在 MenuTableViewController 类中,它应该如下所示:

    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    
        let tableHeaderView = Bundle.main.loadNibNamed("TableViewHeader", owner: self, options: nil)?.first! as! UIView
    
        return tableHeaderView
    }
    

    【讨论】:

      【解决方案3】:

      我在 swift 中添加表格视图时也遇到了这种问题。所以我点击这个链接,所有细节都清楚。所以请关注enter link description here

      【讨论】:

        猜你喜欢
        • 2020-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-18
        • 2020-10-06
        • 1970-01-01
        • 2021-06-05
        • 1970-01-01
        相关资源
        最近更新 更多