gpt4 book ai didi

swift - 使用 Appcelerator Hyperloop 自定义 TableViewCell

转载 作者:行者123 更新时间:2023-11-28 08:06:24 25 4
gpt4 key购买 nike

您好,想用 super 循环创建自定义 tableViewCell。问题是,我不知道该怎么做。我试过用一个 swift 类来实现它:

细胞.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
}


}

在我的 tableview Controller 中:

(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);

不知道怎么用好。有人能帮助我吗 ?谢谢

最佳答案

不确定为什么它不起作用,但是看起来您没有做任何没有 super 循环就无法完成的事情...为什么不使用 Appcelerator 创建您自己的 tableview 单元格/行布局?

关于swift - 使用 Appcelerator Hyperloop 自定义 TableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44974350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com