Uitableview 将按钮添加到自定义TableView类下的自定义TableView单元格

Uitableview 将按钮添加到自定义TableView类下的自定义TableView单元格,uitableview,storyboard,Uitableview,Storyboard,编辑:查看我的答案,了解一个运行良好的应用程序,它以某种方式实现了我要做的事情 我已经检查了这一点,并遵循了每一个可用的教程-这一切似乎很简单,但我的故事板和检查器现在只允许我做以下工作: --向自定义UITableViewButtons添加按钮(使用自定义类“Song Cell”) 每次我尝试这样做时,它都会将按钮放在表视图上方的视图上。我试着将单元格设置为动态、静态、基本和其他我能找到的切换开关 我想这是因为我的视图设置有点笨拙,所以我也尝试将TableView设置为自定义类。然而,它并没有

编辑:查看我的答案,了解一个运行良好的应用程序,它以某种方式实现了我要做的事情

我已经检查了这一点,并遵循了每一个可用的教程-这一切似乎很简单,但我的故事板和检查器现在只允许我做以下工作:

--向自定义UITableViewButtons添加按钮(使用自定义类“Song Cell”)

每次我尝试这样做时,它都会将按钮放在表视图上方的视图上。我试着将单元格设置为动态、静态、基本和其他我能找到的切换开关

我想这是因为我的视图设置有点笨拙,所以我也尝试将TableView设置为自定义类。然而,它并没有出现在故事板的类检查器中。下面是我所做的,将此表视图设置为自定义类,因此无效:

--创建从UITableViewController继承的自定义类,称为SongTableViewController

--在情节提要中,将表视图控制器的类设置为SongTableViewController

请参见此层次结构:

//编辑-显然我没有10个代表来发布图片,所以我将自己绘制:

▼ Voting View Controller - Current Songs
   ▼ View
     ▼ Table View     // This is where I would like the custom class, SongTableViewController
       > Song Cell     
       > Song Cell    //  These cells are where I would like to add the custom buttons
       > Song Cell
       > Constraints
     > Label - 00:00
     > Label - Voting will reset in:
    Navigation Item - Current Songs
First Responder
Exit
当我选择表视图并转到inspector更改其类时,除了UITableView之外,没有其他选项。尝试硬编码并点击“return”也无济于事

是我无法将按钮添加到这些单元格中,因为
我的观点?或者其他什么?

您可能不想更改表视图的类。听起来您真正想要做的是更改一个(或多个)单元原型的类。在故事板中选择一个单元格,并将其类更改为歌曲单元格类。

您可能不想更改表视图的类。听起来您真正想要做的是更改一个(或多个)单元原型的类。在故事板中选择一个单元格,并将其类更改为歌曲单元格类。

也许您应该使用自定义单元格创建xib。例如,类“CustomeCell”和xib“CustomeCell.xib”一起使用

通过xib文件将一些对象放在单元格上,然后使用UITableView在类中执行以下操作:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
        cell = [topLevelObjects objectAtIndex:0];
    }
    // configure cell 

    return cell;
}
不要忘记在xib文件中链接TableView的数据源和委托,并在UITableView类中添加委托:)

故事板是有用的,但有时,最好的方法是使用xib文件:)

编辑:您可以阅读本教程,它是如何使用xib文件管理自定义单元格/表格视图的一个非常好的示例:


希望它能帮助您:)

也许您应该使用自定义单元格创建一个xib。例如,类“CustomeCell”和xib“CustomeCell.xib”一起使用

通过xib文件将一些对象放在单元格上,然后使用UITableView在类中执行以下操作:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
        cell = [topLevelObjects objectAtIndex:0];
    }
    // configure cell 

    return cell;
}
不要忘记在xib文件中链接TableView的数据源和委托,并在UITableView类中添加委托:)

故事板是有用的,但有时,最好的方法是使用xib文件:)

编辑:您可以阅读本教程,它是如何使用xib文件管理自定义单元格/表格视图的一个非常好的示例:


希望它能对您有所帮助:)

以下是对发生的事情的描述,以及如何实现这一点的示例:

您有一个UIViewController子类,并添加 通过在情节提要中拖放,可以将表视图添加到其中

然后,您需要做一些额外的工作来填补 表视图控制器和普通视图控制器-声明 遵循数据源和委托协议,为 在表视图中,将插座连接到表视图,然后连接 表视图的委托和数据源输出到VC

实现三种数据源方法(节数、节数) 行和单元格…)你就完了


以下是对发生的事情的描述,以及如何实现这一点的示例:

您有一个UIViewController子类,并添加 通过在情节提要中拖放,可以将表视图添加到其中

然后,您需要做一些额外的工作来填补 表视图控制器和普通视图控制器-声明 遵循数据源和委托协议,为 在表视图中,将插座连接到表视图,然后连接 表视图的委托和数据源输出到VC

实现三种数据源方法(节数、节数) 行和单元格…)你就完了


HairofDog,我已经将单元格原型设置为自定义类。是否需要在Song Cell类中设置任何实现,以便将库存对象(如UIImageView或按钮/标签)拖到单元格上?我想学习如何以非编程方式完成这项工作,对于我的ProjectHairOfDog来说似乎要快得多,我已经将cell原型设置为自定义类。是否需要在Song Cell类中设置任何实现,以便将库存对象(如UIImageView或按钮/标签)拖到单元格上?我想学习如何以非编程方式完成这项工作,这对于我的项目来说似乎要快得多