如何快速在侧菜单表中添加视图

Posted

技术标签:

【中文标题】如何快速在侧菜单表中添加视图【英文标题】: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 菜单中添加标题视图。只需搜索如何添加标题视图,您将获得大量工作示例。***.com/questions/31964941/… @channu,非常感谢,它的工作。也感谢您的链接,它对我有用。 WC..快乐编码 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

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

方法如下:

    使用 xib 文件创建自定义视图,比如“TableViewHeader.xib” 在 MenuTableViewController 中覆盖 viewForHeaderInSection。 获取对 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

【讨论】:

以上是关于如何快速在侧菜单表中添加视图的主要内容,如果未能解决你的问题,请参考以下文章

快速关闭侧边菜单时如何更改为其原始视图颜色

Xamarin/SQLite/C# - 如何使用菜单项删除从列表视图和 SQLite 表中删除一行

在视图中显示相关表中的值

如何将菜单动态添加到底部导航视图?

Windows 11 如何添加 FTP 文件服务器到资源视图并固定到开始菜单

Windows 11 如何添加 FTP 文件服务器到资源视图并固定到开始菜单