UITableView внутри UIView с первой статической ячейкой - PullRequest
1 голос
/ 23 марта 2012

У меня есть вид таблицы внутри представления, потому что у меня есть uipicker внизу экрана. Теперь я хочу изменить первый ряд внутри таблицы под влиянием uipicker. Поэтому мне нужна статическая первая строка, а остальные строки должны быть динамическими.

В первом ряду находится метка и кнопка.

Это возможно?

мой код:

- (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 Ответ

2 голосов
/ 23 марта 2012

Да, это вполне приемлемо, и вы, похоже, делаете это правильно.

Однако, когда значение вашего средства выбора изменяется, вы должны вызвать reloadData для вашего tableView, чтобы он знал, что нужно выбрать новое значение StaticCell.

...