1
您好希望創建具有超環的自定義tableViewCell。問題是,我不知道如何去做。我試着迅速類實現它:自定義TableViewCell與Appcelerator Hyperloop
Cell.swift
import UIKit
public class MyCell: UITableViewCell{//UICollectionViewCell {
public var imgUser:UIImageView = UIImageView()
public var labUerName:UILabel = UILabel()
public var labMessage:UILabel = UILabel()
public var labTime:UILabel = UILabel()
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
NSLog("la");
imgUser.backgroundColor = UIColor.blue
imgUser.translatesAutoresizingMaskIntoConstraints = false
labUerName.translatesAutoresizingMaskIntoConstraints = false
labMessage.translatesAutoresizingMaskIntoConstraints = false
labTime.translatesAutoresizingMaskIntoConstraints = false
labUerName.frame = CGRect(x: 5, y: 5, width: 70, height: 30)
contentView.addSubview(imgUser)
contentView.addSubview(labUerName)
contentView.addSubview(labMessage)
contentView.addSubview(labTime)
}
public required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
public func setName(txt: String){
labUerName.text = txt
}
}
在我tabbleview控制器:
(function (container) {
var UIScreen = require('UIKit/UIScreen'),
UIColor = require('UIKit/UIColor'),
UITableView = require('UIKit/UITableView'),
UITableViewCell = require('UIKit/UITableViewCell'),
NSIndexPath = require('Foundation').NSIndexPath,
UITableViewStyleGrouped = require('UIKit').UITableViewStyleGrouped,
UITableViewCellStyleSubtitle = require('UIKit').UITableViewCellStyleSubtitle,
UITableViewCellAccessoryDisclosureIndicator = require('UIKit').UITableViewCellAccessoryDisclosureIndicator;
// Grabs the JSON-file from app/lib/static/data.json
var file = Ti.Filesystem.getFile(Ti.Filesystem.getResourcesDirectory() + 'static/data.json');
var users = JSON.parse(file.read().text).users;
var Cell = require('MyFramework/MyCell'); // HERE IS MY CUSTOM CELL
// Subclass delegate + data source
var TableViewDataSourceAndDelegate = require('subclasses/tableviewdatasourcedelegate');
// Create + configure tableView
var tableView = UITableView.alloc().initWithFrameStyle(UIScreen.mainScreen.bounds, UITableViewStyleGrouped);
var dataSourceDelegate = new TableViewDataSourceAndDelegate();
dataSourceDelegate.numberOfSections = function(tableView) {
return 1;
};
dataSourceDelegate.numberOfRows = function(tableView, section) {
return users.length;
};
dataSourceDelegate.titleForHeader = function(tableView, section) {
return 'Available users: ' + users.length;
};
dataSourceDelegate.heightForRow = function(tableView, indexPath) {
return 44;
};
dataSourceDelegate.cellForRow = function(tableView, indexPath) {
var user = users[indexPath.row];
var cell = tableView.dequeueReusableCellWithIdentifierForIndexPath('hyperloop_cell', indexPath);
cell.setName('abc');
return cell;
};
dataSourceDelegate.didSelectRowAtIndexPath = function(tableView, indexPath) {
alert('Call me maybe: ' + users[indexPath.row].phone);
tableView.deselectRowAtIndexPathAnimated(indexPath, true);
};
// Assign delegate + data source
tableView.registerClassForCellReuseIdentifier(Cell.self, "hyperloop_cell");
tableView.setDelegate(dataSourceDelegate);
tableView.setDataSource(dataSourceDelegate);
container.add(tableView);
})($.tableview_container);
我不知道如何使用它做好。有人能幫助我嗎 ? 謝謝
我試圖讓它在JS中。我沒有想到如何去做。這就是爲什麼我已經迅速嘗試過。 –
似乎它應該是有能力的,所以也許你只需要刷新文檔?或者可能發佈你想要的行看起來像,也許可以幫助指出你在正確的方向。 – Ray
經過多次嘗試,問題似乎是我的快速課程。我清空了所有的東西,它的工作正常......我會繼續以這種方式進行搜索 –