UIView里面的UITableView带有第一个单元格静态

时间:2012-03-22 20:19:27

标签: ios ios5 uitableview uipickerview

我在视图中有一个tableview,因为我在屏幕底部有一个uipicker。现在我想更改受uipicker影响的tableview内的第一行。所以我需要一个静态的第一行,其他行应该是动态的。

第一行是标签和按钮。

这可能吗?

我的代码:

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    return [_pickerValues count];
}


-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
    return [_pickerValues objectAtIndex:row];
}

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    //What should I do to get the first row label without remove uibutton inside
}


- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return  1 + 4;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *CellIdentifier = @"DynamicCell";

    if ([indexPath row] == 0) {
        CellIdentifier = @"StaticCell";
    }

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    // Configure the cell...
    if (indexPath.row > 0) {
        UILabel *value = (UILabel*)[cell viewWithTag:0];
        //...
    }

    return cell;
}

Thx 4帮助。

1 个答案:

答案 0 :(得分:2)

是的,这是完全可以接受的,你看起来正确地做到了。

但是,当您的选择器值发生变化时,您应该在tableView上调用reloadData,以便它知道如何获取StaticCell的新值。