如何制作自定义单元格?

时间:2010-12-10 04:02:34

标签: objective-c interface-builder

在表视图中,我想为它添加一个日期选择器单元格,但是没有它的选项,所以我尝试创建一个自定义单元格,但我不知道如何。有谁知道如何制作一个自定义单元格,或者是否有一个关于它的初学者的好教程。感谢。

3 个答案:

答案 0 :(得分:2)

好的,所以,在发现不允许在NIB中的NSTableColumn中嵌入NSDatePickerCell之后,我接着看看是否可以以编程方式执行此操作。示例项目位于:

http://www.markdouma.com/developer/TableViewDatePicker.zip

正如测试应用程序所示,可以通过编程方式执行此操作:

alt text

您可以使用以下代码:

NSDatePickerCell *cell = [[[NSDatePickerCell alloc] init] autorelease];
[dateOfHireColumn setDataCell:cell];

但是,正如您所看到的,初始结果并不是人们所希望的。日期选择器单元格在选择时不会反转它绘制的文本颜色,而且,它实际上不允许您通过其控件更改日期。

虽然我没有考虑过广泛地尝试这样做(换句话说,也许通过一些调整和/或子类化,你可以让它更好地工作),下表视图显示了它如何能够实施。基本上,您只需在表列中使用常规文本字段,并使用NSDateFormatter正确显示日期。选择日期时,可以使用表格下方的NSDatePicker来编辑值。

答案 1 :(得分:2)

//自定义表格视图单元格的外观。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Cell";
UIImage *image = nil;

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {

    cell = [[[UITableViewCell alloc] initWithFrame:CGRectMake(0,0,300,40) reuseIdentifier:CellIdentifier] autorelease];
 }

现在输入你的代码并结束cellForRowAtIndexPath方法的大括号。

试一试。 思鲁提

答案 2 :(得分:0)

我想说,使用普通的UITableViewCell并显示带有嵌入式UIPickerView的UIAlertView。

在UIAlertView中设置日期后,您可以将变量放在tableCell中。 UIPickerView在Cell中显示很大..但是,也可以这样做..!

我会使用this method.

希望它可以帮助你..