TableviewCell选择并移动到另一个视图

时间:2016-07-22 05:00:22

标签: ios objective-c iphone uitableview mbcalendarkit

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

方法

- (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];

}

2 个答案:

答案 0 :(得分:0)

在tableview didSelectRowAtIndexPath方法中: -

- (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中定义

答案 1 :(得分:0)

如果您正在CKCalendarViewDelegate内部实施CKCalenderViewController或子类calendarView:didSelectEvent:,则可以将新视图控制器推送到导航堆栈,或者自己展示presentViewController:animated:completion: auth.ts。 1}}。

如果要将事件传递给第二个视图控制器,请在显示或推送视图控制器之前将其指定为属性。

披露:我是MBCalendarKit的作者。