2

我使用了 MBCalendarKit。这是 tableView 方法上显示的事件- (void)calendarView:(CKCalendarView *)CalendarView didSelectEvent:(CKCalendarEvent *)event。此方法与- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath. 我想didSelectEvent在 tableView 单元格单击事件上调用该方法。如何在单元格单击时移动到另一个视图控制器?并传递单元格数组数据。这怎么可能?请帮忙。谢谢你

方法

- (void)calendarView:(CKCalendarView *)CalendarView didSelectEvent:(CKCalendarEvent *)event
{
 //  A row is selected in the events table. (Use to push a detail view or whatever.)
 CalendarViewController*destVC = [[CalendarViewController alloc] init];
destVC.pure=arr;
[self presentViewController:destVC animated:YES completion:nil];

}
4

2 回答 2

0

在 tableviewdidSelectRowAtIndexPath方法中:-

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

调用你的函数: -

[self didSelectEvent:..

还要移动到另一个视图控制器,在 tableView 的相同 didSelectRowAtIndexPath 方法中使用如下 segue:-

[self performSegueWithIdentifier:@"segueName" sender:self];

最后,要传递单元格数组,请使用 prepareForSegue:-

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"segueName"])
    {

        DestViewController *dest = segue.destinationViewController;
        dest.passedArr = Arr;

    }
}

注意:- "segueName" 需要在 Storyboard 中定义

于 2016-07-22T09:12:44.013 回答
0

如果您正在从内部实现CKCalendarViewDelegate或子类化 ,您可以将一个新的视图控制器推送到导航堆栈上,或者自己呈现它,使用.CKCalenderViewControllercalendarView:didSelectEvent:presentViewController:animated:completion:

如果要将事件传递给第二个视图控制器,请在呈现或推送视图控制器之前将其分配为属性。

披露:我是 MBCalendarKit 的作者。

于 2017-08-20T13:05:35.040 回答