Я создал приложение со следующим кодом. В котором, когда я нажимаю кнопку, выбор даты должен загружаться в соответствующей строке. Но datepicker всегда загружается в первую строку. Может ли кто-нибудь помочь мне сделать это?Происхождение вида внутри ячейки tableview показывает неправильный фрейм в ios
Мой код выглядит следующим образом:
- (void)datePickerButtonPressed:(UIButton *)sender
{
if(self.datePicker == nil)
{
self.datePicker = [[UIDatePicker alloc] init];
[self.datePicker addTarget:self action:@selector(datePickerDateChanged:) forControlEvents:UIControlEventValueChanged];
}
NSMutableArray *items = [self.toolbar.items mutableCopy];
[items removeObjectAtIndex:2];
[items addObject:[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(datePickerDone:)]];
[self.toolbar setItems:items animated:YES];
CGPoint swipepoint = sender.center;
CGPoint rootViewPoint = [sender.superview convertPoint:swipepoint toView:self.goalDetailsTableview];
NSIndexPath *indexPath = [self.goalDetailsTableview indexPathForRowAtPoint:rootViewPoint];
NSLog(@"%@", indexPath);
GoalDetailsTableViewCell *cell = [self.goalDetailsTableview cellForRowAtIndexPath:indexPath];
self.datePicker.datePickerMode = UIDatePickerModeDateAndTime;
CGRect pickerRect = CGRectMake(cell.actionCardReminder.frame.origin.x, cell.actionCardReminder.frame.origin.y, 304, 204);
NSLog(@"%f %f", cell.actionCardReminder.frame.origin.x, cell.actionCardReminder.frame.origin.y);
self.datePicker.frame = pickerRect;
self.datePicker.backgroundColor = [UIColor whiteColor];
self.datePicker.layer.cornerRadius = 5;
[self.goalDetailsTableview addSubview:self.datePicker];
}
Спасибо заранее.
Что показывают ваши два журнала? – rdelmar
Попробуйте это 'pickerRect.origin.y = rootViewPoint.y' и проверьте – Akhilrajtr
@rdelmar - мой журнал показывает x происхождение в 8 и y изначально, как 18, и datepicker показывает только в первой ячейке, но мой я хочу то же самое происхождение для выбранной ячейки –