2011-10-26 66 views
0

我試圖在我的應用中以模態視圖呈現新的EKCalendarChooser。我正在使用下面的代碼:以模態呈現EKCalendarChooser

EKCalendarChooser *calendarChooser = [[EKCalendarChooser alloc] 
    initWithSelectionStyle:EKCalendarChooserSelectionStyleMultiple 
    displayStyle:EKCalendarChooserDisplayAllCalendars 
    eventStore:self.ekDataSource.eventStore]; 


calendarChooser.showsDoneButton = YES; 
calendarChooser.showsCancelButton = NO; 
calendarChooser.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
calendarChooser.delegate = self; 

[[self navigationController] presentViewController:calendarChooser animated:YES completion:nil]; 

我遇到的問題是,當視圖顯示時,它缺少完成按鈕。但是,如果使用以下代碼顯示視圖:

[[self navigationController] pushViewController:calendarChooser animated:YES]; 

它工作得很好。完成按鈕顯示。不應該顯示已完成的按鈕和presentViewController調用嗎?

在此先感謝您的幫助!

PMB

回答

1

更多的搜索後,我發現下面的計算器問題:

Presenting modal view occasionally hides the navigation bar

這個固定我的問題。

+0

你還在使用initWithSelectionStyle:EKCalendarChooserSelectionStyleMultiple? – jsetting32

+0

我試圖使用它,但即時通訊只能得到單一選擇風格視圖的運氣。 IDK做什麼。如果您發現使用多選功能的一些解決方案,請發佈代碼:) – jsetting32

0

如果您當前的視圖控制器位於導航控制器內,那麼您應該繼續使用該導航控制器,除非您確實需要更多的屏幕空間。然後,您應該使用動畫以模態方式呈現新的視圖控制器,它告訴用戶他們將離開導航控制器的上下文。

[self.navigationController pushViewControllerAnimated:how];

0

使用EKClaenderChooserDelegate method.Using這個方法我解決我的問題

  • (無效)calendarChooserDidFinish:(EKCalendarChooser *)calendarChooser

    { [self.navigationController popToRootViewControllerAnimated:YES];

    }