Skip to content

Instantly share code, notes, and snippets.

View michal-majchrzycki's full-sized avatar

Michal Majchrzycki michal-majchrzycki

  • Poland, Poznan
View GitHub Profile
func getMeColor() -> NSFetchRequest {
let sortTitle = NSSortDescriptor(key: "date", ascending: true)
self.fetchRequest = NSFetchRequest(entityName: "Fruits")
let context = managedObjectContext
let entity = NSEntityDescription.entityForName("Fruits", inManagedObjectContext: context)!
fetchRequest.entity = entity
fetchRequest.sortDescriptors = [sortTitle]
ex.expressionResultType = .DecimalAttributeType
fetchRequest.propertiesToFetch = ["colors"]
fetchRequest.propertiesToGroupBy = ["colors"]
fetchRequest.resultType = .DictionaryResultType
let matchingObjects = try! context.executeFetchRequest(fetchRequest) as AnyObject
self.expenseCategory = matchingObjects
var currentDate = Date()
var calendarArray: NSArray?
func arrayOfDates() -> NSArray {
let numberOfDays: Int = 14
let startDate = Date()
let formatter: DateFormatter = DateFormatter()
formatter.dateFormat = "EEE d/M"
let calendar = Calendar.current
var offset = DateComponents()
var dates: [Any] = [formatter.string(from: startDate)]
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellIdentifier, for: indexPath) as! CalendarViewCell
cell.dateLabel.text = self.calendarArray?[indexPath.row] as? String
return cell
}
override var isSelected: Bool {
didSet {
if isSelected {
dateLabel!.textColor = UIColor.green
dateLabel.font = UIFont.boldSystemFont(ofSize: 14)
} else {
dateLabel!.textColor = UIColor.darkText
dateLabel.font = UIFont.systemFont(ofSize: 14)
}
}
self.selectedDateLabel.text = self.calendarArray?[indexPath.row] as? String
let centeredIndexPath = IndexPath.init(item: selectedDate, section: 0)
collectionView.scrollToItem(at: centeredIndexPath, at: .centeredHorizontally, animated: true)
if indexPath == centeredIndexPath {
collectionView.scrollToItem(at: indexPath, at: .centeredHorizontally, animated: true)
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
if calendarCollectionView == scrollView {
setSelectedItemFromScrollView(scrollView)
}
}
func setSelectedItemFromScrollView(_ scrollView: UIScrollView) {
if calendarCollectionView == scrollView {
let center = CGPoint(x: scrollView.center.x + scrollView.contentOffset.x, y: scrollView.center.y + scrollView.contentOffset.y)
let index = calendarCollectionView.indexPathForItem(at: center)
if index != nil {
calendarCollectionView.scrollToItem(at: index!, at: .centeredHorizontally, animated: true)
self.calendarCollectionView.selectItem(at: index, animated: false, scrollPosition: [])
self.collectionView(self.calendarCollectionView, didSelectItemAt: index!)
self.selectedDate = (index?.row)!