ipraba / EPCalendarPicker

Colourful calendar for iOS written in Swift
MIT License
347 stars 73 forks source link

multiSelectEnabled = false doesn't work #35

Closed diogo10 closed 7 years ago

diogo10 commented 7 years ago

Hi @ipraba,

Thanks for this amazing piece of happiness, but I have a problem in disabling multiselection. In my scenario, I need to highlight some days, only, some days. That's it. No more no less. The following code doesn't disable multiselection. The user still able to select dates.

OBS: I am displaying your Calendar inside my calendar.

import Foundation
import EPCalendarPicker

class CalendarViewController: UIViewController, EPCalendarPickerDelegate {

    var dates:[Date] = [] //some dates
    var calendarPicker: EPCalendarPicker!

    @IBOutlet weak var cont: UIView!

    override func viewDidLoad() {
        super.viewDidLoad()
        calendarPicker = EPCalendarPicker(startYear: 2016, endYear: 2016, multiSelection: false, selectedDates: dates)
        calendarPicker.calendarDelegate = self
        //calendarPicker.startDate = Date()
        calendarPicker.hightlightsToday = true
        calendarPicker.hideDaysFromOtherMonth = false
        //calendarPicker.tintColor = UIColor.orange
        //calendarPicker.dayDisabledTintColor = UIColor.gray
        //calendarPicker.dateSelectionColor = UIColor.blue
        calendarPicker.multiSelectEnabled = false
        calendarPicker.collectionView?.allowsMultipleSelection = false
        addViewControllerAsChildViewController(viewController: calendarPicker)

    }

![simulator screen shot 15 oct 2016 14 22 49](https://cloud.githubusercontent.com/assets/1541244/19410384/e5d3539a-92e2-11e6-9dfb-fc5ecca81173.png)

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func epCalendarPicker(_: EPCalendarPicker, didCancel error : NSError) {
        //txtViewDetail.text = "User cancelled selection"

    }
    func epCalendarPicker(_: EPCalendarPicker, didSelectDate date : NSDate) {
        print(date)
    }
//    func epCalendarPicker(_: EPCalendarPicker, didSelectMultipleDate dates : [NSDate]) {
//        //txtViewDetail.text = "User selected dates: \n\(dates)"
//        print("User selected dates: \n\(dates)")
//    }

    private func addViewControllerAsChildViewController(viewController: UIViewController) {
        // Add Child View Controller
        addChildViewController(viewController)

        // Add Child View as Subview
        view.addSubview(viewController.view)

        // Configure Child View
        viewController.view.frame = view.bounds
        viewController.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]

        // Notify Child View Controller
        viewController.didMove(toParentViewController: self)
    }
}
diogo10 commented 7 years ago

Hi, placing this code fixed my issue. Thanks.

calendarPicker.collectionView?.allowsSelection = false