objective-c - 在 pickerview 事件中突出显示 UITableViewCell

标签 objective-c ios xcode uitableview

我有一个包含 UITableView 和 UIDatePicker 的 UI。当我在我的表上选择一行时,它会突出显示,但只要我与 DatePicker 交互(滚动到一个新值),该行就不再突出显示。行的值绑定(bind)到 DatePicker 的值。如何永久突出显示单元格?

在 iCal-App -> Add -> Start&End 中,我看到了这种行为。 我在选择器的 ValueChanged 方法中尝试了 selectRowAtIndex 方法。我认为突出显示在此回调方法中丢失了。

-(IBAction)setStartTimeMethod
{

    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];   
    [dateFormat setDateFormat:@"EEE, dd. MMM yyyy  HH:mm"];


    if(!self.endDateRowSelected)
        self.date = [dateFormat stringFromDate:[datePicker date]];
    else
        self.endDate = [dateFormat stringFromDate:[datePicker date]];
    [dateFormat release];
//    [self.tableView1 selectRowAtIndexPath:tableView1.indexPathForSelectedRow animated:NO scrollPosition:UITableViewScrollPositionTop];
    [self.tableView1 reloadData];

}

编辑,我的didSelectRowMethod

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"EEE, dd. MMM yyyy  HH:mm"];

    if(indexPath.row == 0){
        NSLog(@"Start");
        self.endDateRowSelected = NO;


        NSDate *startDate = [formatter dateFromString:self.date];
        [datePicker setDate:startDate animated:YES];

        //if(self.endDateRowSelected)
          //  [tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionNone];

    }else if(indexPath.row == 2){
        NSLog(@"End");
        self.endDateRowSelected = YES;

        if(self.endDate){
            NSDate *endDateTime = [formatter dateFromString:self.endDate];
            [datePicker setDate:endDateTime animated:YES];
        }
    }else{
        self.endDateRowSelected = NO;
    }

    [formatter release];
//    Won't work, doesn't allow highlighting a cell.
//    [tableView deselectRowAtIndexPath:indexPath animated:NO];

}

BR, 迈贝克

最佳答案

在 TableView 的didSelectRowAtIndexPath委托(delegate)方法的最后使用这段代码,

[tableView deselectRowAtIndexPath:indexPath animated:NO];

关于objective-c - 在 pickerview 事件中突出显示 UITableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8293642/

相关文章:

objective-c - 检查用户是否在连续的 UISlider 上完成滑动?

ios - Xcode 7.3 : NSArray print custom objects as "" why?

ios - didRangeBeacons 一次只返回一个 iBeacons

objective-c - UIButton 滑动而不是点击

ios - 检索附加到 currentUser/Parse 的照片

objective-c - 使用 "generated strings"(stringWithFormat) 作为 NSDictionary 的键

ios - 如何用 CFUUIDCreate 替换 uniqueIdentifier?

iphone - 删除属性 PREBINDING 和 GCC_ENABLE_FIX_AND_CONTINUE

objective-c - Cocoa Visual Format Language 中的 View 名称是什么?

ios - 每次导航时,内存使用都在不断增加。并在 4-5 分钟后崩溃