如何在swift中的indexpath委托的单元格中加载自定义表格视图单元格

时间:2015-12-29 04:56:05

标签: ios swift uitableview

import UIKit

class NewOrdersViewControllers: UIViewController,UITableViewDelegate,UITableViewDataSource {

    var items = []
    @IBOutlet var tableView:UITableView!

    @IBOutlet weak var lblRestaurantNames: UILabel!
    @IBOutlet weak var mapView: UIButton!

    var cellIdentifier = "cell"


    override func viewDidLoad() {
        super.viewDidLoad()

        //self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
        let nib = UINib(nibName: "vwTblCell", bundle: nil)

        tableView.registerNib(nib, forCellReuseIdentifier: "cell")
        tableView.delegate = self

        tableView.dataSource = self

        // Do any additional setup after loading the view.
    }

    @IBAction func mapPush(sender: AnyObject) {

        let mapVC = MapViewController()

        self.navigationController?.pushViewController(mapVC, animated: true)
    }

    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.items.count
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

//            let cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier(cellIdentifier)! as! UITableViewCell
//
//            cell.textLabel?.text = self.items[indexPath.row] as! String
//
//            cell.RestaurantLbl.text = self.items[indexPath.row]
//
//            cell.lblrest.text = items[indexPath.row] as! String

        var cell:TblCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! TblCell

        cell.lblRestaurantName.text = items[indexPath.row] as! String

        return cell
    }

    func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {

        print("You selected cell #\(indexPath.row)!")
    }

    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {

        return 100
    }

2 个答案:

答案 0 :(得分:1)

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{

        let identifier = "Custom"

        var cell: CustomCell! = tableView.dequeueReusableCellWithIdentifier(identifier) as? CustomCel  

          if cell == nil {
                tableView.registerNib(UINib(nibName: "CustomCell", bundle: nil), forCellReuseIdentifier: identifier)
               cell =tableView.dequeueReusableCellWithIdentifier(identifier) as? CustomCell
            }
          return cell
        }

答案 1 :(得分:0)

d2 <- diamonds[diamonds$cut %in% c("Fair", "Good"),] %>%
  count(cut, color) %>%
  transform(color = factor(color, levels=rev(levels(color)))) %>%
  mutate(id = as.integer(color)) 

p <- plot_ly(d2, x = cut, y = n, type = "bar", group = color, xaxis = paste0("x", id), marker = list(color = c("#0000FF","#FF0000"))) %>%
  layout(yaxis = list(range = range(n), linewidth = 0, showticklabels = F, showgrid = T, title = ""),
         xaxis = list(title = ""))

subplot(p) %>%
  layout(showlegend = F,
         margin = list(r = 100),
         yaxis = list(showticklabels = T),
         annotations = list(list(text = "Fair", showarrow = F, x = 1.1, y = 1, xref = "paper", yref = "paper"),
                            list(text = "Good", showarrow = F, x = 1.1, y = 0.96, xref = "paper", yref = "paper")),
         shapes = list(list(type = "rect", x0 = 1.1, x1 = 1.13, y0 = 1, y1 = 0.97, line = list(width = 0), fillcolor = "#0000FF", xref = "paper", yref = "paper"),
                       list(type = "rect", x0 = 1.1, x1 = 1.13, y0 = 0.96, y1 = 0.93, line = list(width = 0), fillcolor = "#FF0000", xref = "paper", yref = "paper")))