我有一個包含UITableView和UIDatePicker的用戶界面。當我在我的表上選擇一個行時,它會突出顯示,但只要我與DatePicker交互(滾動到一個新值),該行就不會再突出顯示。該行的值綁定到DatePicker的值。我怎樣才能永久突出顯示單元格?突出顯示UITableViewCell而pickerview事件
在iCal-應用程序 - >添加 - >開始&最後我看到了這種行爲。 我在picker的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, mybecks
感謝您的回答,但這不允許突出顯示一行。我想要反對的部分 - 突出顯示一個單元格,直到我點擊另一個單元格。 – mybecks