2010-12-10 162 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.

希望它可以幫助你..