0

我为 ipad 设计了一个弹出窗口(tableview 样式)。现在就像在 asp.net 中一样,我希望最后有一个选项,这样如果用户单击它,他就可以在其中输入值。可以吗?如果可以怎么办?我玩过 tableviewcellstyles 并得到了一个文本框,但适用于所有选项。如果有人做过,你能给我一些想法吗?谢谢。

编辑:我应该提到我正在使用 Monodevelop 开发这个应用程序。

4

1 回答 1

0

一种方法,假设您使用 Storyboard 创建视图和设置属性:

在您的 UITableView 对象属性中,将“内容”属性设置为“动态原型”。

然后从情节提要编辑器的 UI 对象列表中向您的表格添加一个额外的表格视图单元格(就像添加另一个标签或按钮或其他任何内容一样)。

现在,您的表格视图中应该有两个 TableViewCell 对象。如果没有,请添加另一个。

为两个表格视图单元格对象提供不同的标识符(即,将每个单元格对象的属性“标识符”设置为不同的字符串)。

设置第一个单元格以显示您的正常内容。

设置第二个单元格以显示您独特的“最后一行”布局。

在您的代码中,在 cellForRowAtIndexPath 中返回大多数行的“主”单元格,但最后一行的备用单元格:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // rows are 0-indexed
    if (indexPath.row == myDataSource.count) {

        NSString *CellIdentifier = @"AlternateCell";

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

        // populate contents...
    }
    else {

        NSString *CellIdentifier = @"NormalRow";

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

        // populate contents...
    }
}

为此,您必须告诉 TableView 比您的实际数据多一行:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return myDataSource.count +1;
}
于 2013-03-03T21:45:05.820 回答