diff --git a/SwiftExample/SwiftExample.xcodeproj/project.pbxproj b/SwiftExample/SwiftExample.xcodeproj/project.pbxproj index 9952630..1f5b9dc 100644 --- a/SwiftExample/SwiftExample.xcodeproj/project.pbxproj +++ b/SwiftExample/SwiftExample.xcodeproj/project.pbxproj @@ -10,12 +10,14 @@ 300414221CD751B200453AEB /* FSCalendarScopeHandle.m in Sources */ = {isa = PBXBuildFile; fileRef = 300414211CD751B200453AEB /* FSCalendarScopeHandle.m */; }; 300414261CD751CF00453AEB /* FSCalendar+Deprecated.m in Sources */ = {isa = PBXBuildFile; fileRef = 300414241CD751CF00453AEB /* FSCalendar+Deprecated.m */; }; 300BFB121C6446FA00399553 /* FSCalendarEventIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 300BFB111C6446FA00399553 /* FSCalendarEventIndicator.m */; }; + 303478391DB520C8007BBD2E /* TableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 303478381DB520C8007BBD2E /* TableViewController.swift */; }; 303DE6C11DB1CA3A00F43A0F /* FSCalendarConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 303DE6C01DB1CA3A00F43A0F /* FSCalendarConstants.m */; }; 3055B1C81DA9338C002AFA13 /* FSCalendarExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 3055B1C71DA9338C002AFA13 /* FSCalendarExtensions.m */; }; 306DB1461C96700800A10478 /* FSCalendarAnimator.m in Sources */ = {isa = PBXBuildFile; fileRef = 306DB1451C96700800A10478 /* FSCalendarAnimator.m */; }; 3078A8B11C50C0ED003D33EF /* FSCalendarFlowLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = EEC9C03F1BDCA2D600383A07 /* FSCalendarFlowLayout.m */; }; + 30D458E91DB4E2DB00B163C7 /* LoadViewExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30D458E81DB4E2DB00B163C7 /* LoadViewExampleViewController.swift */; }; EE0954AD1B97DDE0007F6964 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE0954AC1B97DDE0007F6964 /* AppDelegate.swift */; }; - EE0954AF1B97DDE0007F6964 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE0954AE1B97DDE0007F6964 /* ViewController.swift */; }; + EE0954AF1B97DDE0007F6964 /* InterfaceBuilderViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE0954AE1B97DDE0007F6964 /* InterfaceBuilderViewController.swift */; }; EE0954B21B97DDE0007F6964 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EE0954B01B97DDE0007F6964 /* Main.storyboard */; }; EE0954B41B97DDE0007F6964 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EE0954B31B97DDE0007F6964 /* Images.xcassets */; }; EE0954B71B97DDE0007F6964 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = EE0954B51B97DDE0007F6964 /* LaunchScreen.xib */; }; @@ -46,16 +48,18 @@ 300414241CD751CF00453AEB /* FSCalendar+Deprecated.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "FSCalendar+Deprecated.m"; sourceTree = ""; }; 300BFB101C6446FA00399553 /* FSCalendarEventIndicator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarEventIndicator.h; sourceTree = ""; }; 300BFB111C6446FA00399553 /* FSCalendarEventIndicator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarEventIndicator.m; sourceTree = ""; }; + 303478381DB520C8007BBD2E /* TableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableViewController.swift; sourceTree = ""; }; 303DE6BF1DB1CA3A00F43A0F /* FSCalendarConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarConstants.h; sourceTree = ""; }; 303DE6C01DB1CA3A00F43A0F /* FSCalendarConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarConstants.m; sourceTree = ""; }; 3055B1C61DA9338C002AFA13 /* FSCalendarExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarExtensions.h; sourceTree = ""; }; 3055B1C71DA9338C002AFA13 /* FSCalendarExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarExtensions.m; sourceTree = ""; }; 306DB1441C96700800A10478 /* FSCalendarAnimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FSCalendarAnimator.h; sourceTree = ""; }; 306DB1451C96700800A10478 /* FSCalendarAnimator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FSCalendarAnimator.m; sourceTree = ""; }; + 30D458E81DB4E2DB00B163C7 /* LoadViewExampleViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadViewExampleViewController.swift; sourceTree = ""; }; EE0954A71B97DDE0007F6964 /* SwiftExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; EE0954AB1B97DDE0007F6964 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; EE0954AC1B97DDE0007F6964 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - EE0954AE1B97DDE0007F6964 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + EE0954AE1B97DDE0007F6964 /* InterfaceBuilderViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InterfaceBuilderViewController.swift; sourceTree = ""; }; EE0954B11B97DDE0007F6964 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; EE0954B31B97DDE0007F6964 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; EE0954B61B97DDE0007F6964 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; @@ -124,7 +128,9 @@ children = ( EE0954CC1B97DDF4007F6964 /* FSCalendar */, EE0954AC1B97DDE0007F6964 /* AppDelegate.swift */, - EE0954AE1B97DDE0007F6964 /* ViewController.swift */, + 303478381DB520C8007BBD2E /* TableViewController.swift */, + EE0954AE1B97DDE0007F6964 /* InterfaceBuilderViewController.swift */, + 30D458E81DB4E2DB00B163C7 /* LoadViewExampleViewController.swift */, EE0954B01B97DDE0007F6964 /* Main.storyboard */, EE0954B31B97DDE0007F6964 /* Images.xcassets */, EE0954B51B97DDE0007F6964 /* LaunchScreen.xib */, @@ -307,14 +313,16 @@ EE0954E81B97DDF4007F6964 /* FSCalendarHeader.m in Sources */, EE0954E31B97DDF4007F6964 /* FSCalendar+IBExtension.m in Sources */, 300BFB121C6446FA00399553 /* FSCalendarEventIndicator.m in Sources */, + 303478391DB520C8007BBD2E /* TableViewController.swift in Sources */, EE2B62831BB6D7FE00ACB430 /* FSCalendarStickyHeader.m in Sources */, 306DB1461C96700800A10478 /* FSCalendarAnimator.m in Sources */, EE0954E41B97DDF4007F6964 /* FSCalendar.m in Sources */, 3055B1C81DA9338C002AFA13 /* FSCalendarExtensions.m in Sources */, 3078A8B11C50C0ED003D33EF /* FSCalendarFlowLayout.m in Sources */, + 30D458E91DB4E2DB00B163C7 /* LoadViewExampleViewController.swift in Sources */, EE0954E51B97DDF4007F6964 /* FSCalendarAppearance.m in Sources */, EE0954AD1B97DDE0007F6964 /* AppDelegate.swift in Sources */, - EE0954AF1B97DDE0007F6964 /* ViewController.swift in Sources */, + EE0954AF1B97DDE0007F6964 /* InterfaceBuilderViewController.swift in Sources */, 300414221CD751B200453AEB /* FSCalendarScopeHandle.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/SwiftExample/SwiftExample/Base.lproj/Main.storyboard b/SwiftExample/SwiftExample/Base.lproj/Main.storyboard index d189d1e..94eaae8 100644 --- a/SwiftExample/SwiftExample/Base.lproj/Main.storyboard +++ b/SwiftExample/SwiftExample/Base.lproj/Main.storyboard @@ -1,8 +1,9 @@ - + - + + @@ -14,28 +15,89 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + @@ -48,7 +110,7 @@ - + @@ -63,7 +125,7 @@ - + diff --git a/SwiftExample/SwiftExample/ViewController.swift b/SwiftExample/SwiftExample/InterfaceBuilderViewController.swift similarity index 96% rename from SwiftExample/SwiftExample/ViewController.swift rename to SwiftExample/SwiftExample/InterfaceBuilderViewController.swift index 0efe02e..68c04cb 100644 --- a/SwiftExample/SwiftExample/ViewController.swift +++ b/SwiftExample/SwiftExample/InterfaceBuilderViewController.swift @@ -8,7 +8,7 @@ import UIKit -class ViewController: UIViewController, FSCalendarDataSource, FSCalendarDelegate { +class InterfaceBuilderViewController: UIViewController, FSCalendarDataSource, FSCalendarDelegate { @IBOutlet weak var calendar: FSCalendar! @IBOutlet weak var calendarHeightConstraint: NSLayoutConstraint! @@ -43,7 +43,6 @@ class ViewController: UIViewController, FSCalendarDataSource, FSCalendarDelegate */ } - func minimumDate(for calendar: FSCalendar) -> Date { return self.formatter.date(from: "2015/01/01")! diff --git a/SwiftExample/SwiftExample/LoadViewExampleViewController.swift b/SwiftExample/SwiftExample/LoadViewExampleViewController.swift new file mode 100644 index 0000000..60f3237 --- /dev/null +++ b/SwiftExample/SwiftExample/LoadViewExampleViewController.swift @@ -0,0 +1,41 @@ +// +// LoadViewExampleViewController.swift +// SwiftExample +// +// Created by dingwenchao on 10/17/16. +// Copyright © 2016 wenchao. All rights reserved. +// + +import UIKit + +class LoadViewExampleViewController: UIViewController, FSCalendarDataSource, FSCalendarDelegate { + + private weak var calendar: FSCalendar! + + override func loadView() { + + let view = UIView(frame: UIScreen.main.bounds) + view.backgroundColor = UIColor.groupTableViewBackground + self.view = view + + let calendar = FSCalendar(frame: CGRect(x: 0, y: self.navigationController!.navigationBar.frame.maxY, width: self.view.bounds.width, height: 300)) + calendar.dataSource = self + calendar.delegate = self + calendar.backgroundColor = UIColor.white + calendar.scopeGesture.isEnabled = true + self.view.addSubview(calendar) + self.calendar = calendar + + } + + override func viewDidLoad() { + super.viewDidLoad() + self.title = "FSCalendar" + } + + // Update your frame + func calendar(_ calendar: FSCalendar, boundingRectWillChange bounds: CGRect, animated: Bool) { + calendar.frame = CGRect(x: 0, y: self.navigationController!.navigationBar.frame.maxY, width: bounds.width, height: bounds.height) + } + +} diff --git a/SwiftExample/SwiftExample/TableViewController.swift b/SwiftExample/SwiftExample/TableViewController.swift new file mode 100644 index 0000000..e754835 --- /dev/null +++ b/SwiftExample/SwiftExample/TableViewController.swift @@ -0,0 +1,28 @@ +// +// TableViewController.swift +// SwiftExample +// +// Created by dingwenchao on 10/17/16. +// Copyright © 2016 wenchao. All rights reserved. +// + +import UIKit + +class TableViewController: UITableViewController { + + override func viewDidLoad() { + super.viewDidLoad() + // Do any additional setup after loading the view. + } + + + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { +// super.tableView(tableView, didSelectRowAt: indexPath) + if indexPath.row == 1 { + let viewController = LoadViewExampleViewController() + self.navigationController?.pushViewController(viewController, animated: true) + } + } + + +}