簡體   English   中英

帶有customcell的UITableView

[英]UITableView with customcell

我正在開發具有tableview的iPhone應用程序,該應用程序可作為具有不同部分的表單。 我也有3個自定義單元格,其中包含文本字段,段控制和UISwitchView。 我的問題是,當我按下Switch或在textField之一中鍵入某些文本時,Switch的相同狀態或text Field的文本會再次出現在不同的行和不同的部分中。

這是一些圖像和部分代碼來描述我的問題:

在此處輸入圖片說明在此處輸入圖片說明在此處輸入圖片說明

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 3;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    NSInteger rows = 0;
    switch (section) {
        case 0:
            rows = 5;
            break;
        case 1:
            rows = 11;
            break;
        case 2:
            rows = 9;
            break;
        default:
            break;
    }

    return rows;      
}


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


    // init cell
    switch (indexPath.section) {
        case 0:
            if (indexPath.row>=0 && indexPath.row<=3)
            {

                cell = [tableView dequeueReusableCellWithIdentifier:@"text_field_cell"];

            }
            else if (indexPath.row == 4)
            {
                cell = [tableView dequeueReusableCellWithIdentifier:@"segment_cell"];

            }
            break;
        case 1:
            if (indexPath.row >=0 && indexPath.row <= 9)
            {
                cell = [tableView dequeueReusableCellWithIdentifier:@"switch_cell"];

            }
            else if (indexPath.row == 10)
            {
                cell = [tableView dequeueReusableCellWithIdentifier:@"text_field_cell"];

            }
            break;
        case 2:
            if (indexPath.row >=0 && indexPath.row <= 6)
            {
                cell = [tableView dequeueReusableCellWithIdentifier:@"switch_cell"];

            }
            else if (indexPath.row >=7 && indexPath.row <=8)
            {
                cell = [tableView dequeueReusableCellWithIdentifier:@"text_field_cell"];

            }
            break;

        default:
            break;
    }

// init all text ..

return cell;

}

我將實現-tableView:willDisplayCell:forRowAtIndexPath:將每行的單元格設置為正確的狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM