我在视图中有一个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帮助。
答案 0 :(得分:2)
是的,这是完全可以接受的,你看起来正确地做到了。
但是,当您的选择器值发生变化时,您应该在tableView上调用reloadData,以便它知道如何获取StaticCell的新值。