Ich entwickle eine datumsbasierte Anwendung. Ich habe einen Kalender in meinem Swift-Projekt implementiert. Es funktioniert auf ios 8
perfekt, aber in ios 7
funktioniert nicht. Ich habe gerade MBCalendarKit
in mein Swift-Projekt integriert. Es sollte eine Kalenderansicht in der ViewController
sein. Sie können mein Projekt von diesem Link finden Calendar Integration Project Hier ist mein Grundcode. Ich denke, es sollte ein Kinder-Eltern-Navigationsproblem geben. Bitte helfen Sie mir, dieses Problem zu lösen.Wie kann ich MBCalendarkit in mein Swift-Projekt integrieren?
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.
}
*/
}
Was genau funktioniert nicht auf ios 7? –
in ios 7 kann ich keinen kalender präsentieren aber in ios 8 präsentiert es sich sehr gut. und sogar ich habe keine Warnung oder Fehler bekommen. – kalpesh
Haben Sie die von Ihnen verwendete PodFile überprüft? sagt es das -> Plattform: ios, '8.0'? Und auch, wenn Sie bedenken, dass MB Kalender so viele Probleme hat, warum verwenden Sie es in erster Linie. Warum nicht benutzen Sie die top aktualisierten? -> https://cocoapods.org/?q=calenda –