2010-12-10 215 views
0

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

+1

的iOS或MacOS的? – vikingosegundo 2010-12-10 04:18:51

回答

2

好的,所以,在发现将NSDatePickerCell嵌入到Nib中的NSTableColumn中是不允许的,我继续看看是否可以通过编程方式执行此操作。示例项目是:

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

作为测试程序显示,也可以以编程方式做到这一点:

alt text

你会使用如下代码:

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

但是,正如你所看到的,最初的结果并不是真正的想法。日期选取器单元格不会反转它在选定时绘制的文本颜色,而且它也不能真正允许您通过其控件更改日期。

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

+0

这确实奏效,但在右下角,它显示一个错误(“红色x”错误)。它表示,在NSTableColumn的实例中嵌入NSDatePickerCell是禁止的ID 565.它仍然可以工作,还是只是它不适合Apple人机界面指南? – TheAmateurProgrammer 2010-12-10 06:01:03

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方法的大括号。

试试看。 Shruti

0

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

在UIAlertView中设置日期后,您可以将变量放在您的tableCell中。 一个UIPickerView是一个很大的单元格内显示..但是,也可以这样做..!

我会用this method.

希望它可以帮助你..