如何子类化UITableViewCell?

时间:2017-02-13 21:05:40

标签: swift uitableview outlet

我收到了这个旧帖子:How to subclass UITableView?和这个旧视频:https://www.youtube.com/watch?v=FfZGKx4BYVU但这对我没有帮助。我想要的非常简单,我有一个带动态单元格的UITableViewController。我想把这些细胞排出去。这只有在我"子类"它。我创建了另一个文件:

import UIKit

class CreateChannelCell: UITableViewCell {

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

但是我仍然无法将这些出口从UITableViewController添加到此文件中。我的细胞需要充满活力。我想我只是错过了一步,但那是什么步骤?谢谢。

2 个答案:

答案 0 :(得分:2)

您需要使用表格视图注册自定义类。

如果单元格与表格视图位于同一场景:

MyCustomCell.xib

如果您是在不同的笔尖上设计的(比如let nib = UINib(nibName:@"MyCustomCell" bundle: .main) tableView.register(nib, forCellReuseIdentifier: "cell") ):

public bool CanUserReadList(ClientContext context, string listId)
    {
        try
        {                
            if (string.IsNullOrWhiteSpace(listId)) return false;

            List list = context.Web.Lists.GetById(new Guid(listId));                                                             
            context.Load(list, a => a.EffectiveBasePermissions,a=> a.DefaultViewUrl);
            context.ExecuteQuery();
            return list.EffectiveBasePermissions.Has(PermissionKind.OpenItems);
        }
        catch (Exception e)
        {
            //Error thrown if accessing from different site collection to 
        }
    }

答案 1 :(得分:1)

这是子类的正确方法。但是,如果您使用的是Storyboard或Xib文件,则需要引用您创建的UITableView中的CreateChannelCell以及CustomClass所在的位置。

您需要选择单元格,然后转到CreateChannelCell并在那里写下您的课程名称......在这种情况下{{1}}

Here you need to go at your Cell and declare <code>CreateChannelCell</code>

如果您没有使用Storyboard或Xib,请参阅Code Different提供的答案