Я разрабатываю приложение на основе даты. Я реализовал календарь в моем проекте Swift. Он отлично работает на ios 8
, но в ios 7
не работает. Я только что интегрировал MBCalendarKit
в мой проект Swift. Должно быть календарное представление в ViewController
. Вы можете найти мой проект по этой ссылке Calendar Integration Project Вот мой базовый код. Я думаю, что должна быть проблема с родительской навигацией. Пожалуйста, помогите мне решить эту проблему.Как интегрировать MBCalendarkit в мой проект Swift?
class ViewController: UIViewController, CKCalendarViewDelegate, CKCalendarViewDataSource {
var data : NSMutableDictionary
var calendar = CKCalendarViewController()
var newdata = CKCalendarView()
required init(coder aDecoder: NSCoder) {
data = NSMutableDictionary()
super.init(coder: aDecoder)
}
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
self.data = NSMutableDictionary()
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}
override func viewDidLoad() {
super.viewDidLoad()
calendar.dataSource = self
// self .addChildViewController(calendar)
// self.view.addSubview(calendar.view)
// calendar .didMoveToParentViewController(self)
// targetController.view.superview.center = self.view.center;
self.parentViewController?.presentViewController(calendar, animated: true, completion: nil)
let title : NSString = NSLocalizedString("Add Swift Demo", comment: "")
let date : NSDate = NSDate(day: 14, month: 4, year: 2016)
let event : CKCalendarEvent = CKCalendarEvent(title: title as String, andDate: date, andInfo: nil)
self.data[date] = [event]
}
func calendarView(calendarView: CKCalendarView, willSelectDate date: NSDate) {
print("will select called")
}
func calendarView(calendarView: CKCalendarView, didSelectDate date: NSDate) {
print("didselect date called")
let ntview = noteview(nibName: "noteview", bundle: nil)
self.navigationController?.pushViewController(ntview, animated: true)
//self.navigationController?.popViewControllerAnimated(false)
}
func calendarView(calendarView: CKCalendarView!, eventsForDate date: NSDate!) -> [AnyObject]! {
return self.data.objectForKey(date) as [AnyObject]!
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
}
Что именно не работает на ios 7? –
в ios 7 я не могу представить календарь, но в ios 8 он присутствует очень хорошо. и даже я не получал никаких предупреждений или ошибок. – kalpesh
Вы проверили Подфильтр, который используете? он говорит это -> платформа: ios, '8.0'? А также, учитывая, что в MB-календаре появилось так много проблем, почему вы используете его в первую очередь. Почему бы не использовать верхние обновленные? -> https://cocoapods.org/?q=calenda –