Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iPhone中单击detailtextlabel切换到不同的视图?_Iphone_Objective C - Fatal编程技术网

如何在iPhone中单击detailtextlabel切换到不同的视图?

如何在iPhone中单击detailtextlabel切换到不同的视图?,iphone,objective-c,Iphone,Objective C,我有一个表视图,其中有3行。第一行是选择时钟是模拟的还是数字的。第二排有一个拨动开关,打开时显示天气。第三行显示时间格式,即用户希望选择24小时格式还是12小时格式的时间 第二行已经完成。但是我不知道如何处理第一个单元格,即默认情况下,第一行的detailtextlabel应该显示数字,当我单击单元格时,文本应该从数字变为模拟。因此,您希望在用户单击后更新UITableView的第一个单元格detailtextlabel,对吗 在TableView委托方法中,获取对用户单击的单元格的引用,并修改

我有一个表视图,其中有3行。第一行是选择时钟是模拟的还是数字的。第二排有一个拨动开关,打开时显示天气。第三行显示时间格式,即用户希望选择24小时格式还是12小时格式的时间


第二行已经完成。但是我不知道如何处理第一个单元格,即默认情况下,第一行的detailtextlabel应该显示数字,当我单击单元格时,文本应该从数字变为模拟。

因此,您希望在用户单击后更新UITableView的第一个单元格detailtextlabel,对吗

在TableView委托方法中,获取对用户单击的单元格的引用,并修改其detailTextLabel

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
      UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
      cell.textLabel.text = @"New Text";
}
只需确保在更改文本之前检查用户单击的单元格,因为您有3个单元格。。。 检查单元格行或单元格现有文本

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
   UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
   if(indexPath.row == 0){
     if([cell.textLabel.text isEqualToString:@"Analog"]){
       cell.textLabel.text = @"Digital";
      }
     else{
       cell.textLabel.text = @"Analog";
     }
   }
}

如果要使用任何其他标签显示这些值,请将cell.textlab.text替换为lbl.text

请你把这个凹痕补一下好吗?