我为ipad设计了一个pop(tableview风格)。就像在asp.net中我想要一个选项,所以如果用户点击它,他可以输入值。可以这样做吗?如果是这样的话?我玩过tableviewcellstyles并且也有一个文本框,但所有选项。如果有人做了,你能给我一些想法吗?感谢。
编辑:我应该提到我正在使用Monodevelop来开发这个应用程序。
答案 0 :(得分:0)
一种方法,假设您使用Storyboard创建视图并设置属性:
在UITableView对象属性中,将“content”属性设置为“Dynamic Prototypes”。
然后从故事板编辑器的UI对象列表中向表中添加一个额外的表格视图单元格(就像添加另一个标签或按钮或其他内容一样)。
现在,您应该在表视图中有两个TableViewCell对象。如果没有,请添加另一个。
为两个表视图单元格对象提供不同的标识符(即,将每个字符串的“标识符”设置为不同的字符串)。
设置第一个单元格以显示您的正常内容。
设置第二个单元格以显示唯一的“最后一行”布局。
在你的代码中,在cellForRowAtIndexPath中返回大多数行的“main”单元格,但是返回最后一行的备用单元格:
- (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;
}