Giter Club home page Giter Club logo

mscollectionviewcalendarlayout's Introduction

Introduction

MSCollectionViewCalendarLayout was written by Eric Horacek for Monospace Ltd.

MSCollectionViewCalendarLayout is a UICollectionViewLayout subclass for displaying chronological data. It divides its cells into columns of days, with the size of each cell corresponding to its length. MSCollectionViewCalendarLayout is very similar to the "Week" view in the Apple Calendar/iCal app. See the example screenshots for what this looks like.

UICollectionView?

UICollectionView is awesome. If you're unfamiliar, read Mattt Thompson's excellent article about them on NSHipster. Everyone should use them (yes, even instead of good ol' UITableView). This is especially true now that iOS 6+ adoption is over 90% (As of March, 2013). It's the right thing to do.

Because of how awesome UICollectionView is, the UIViewController powering the below example is incredibly thin—only about 175 lines of code, including whitespace.

Example

The example project queries the SeatGeek API for the next 1000 sport events near Denver, Colorado. It displays these events in a UICollectionView using MSCollectionViewCalendarLayout, mimicking the look and feel of the Apple Calendar iOS App. To run, build and run the Example target in from Example.xcworkspace within the Example directory.

Screenshots

Vertical Layout

Horizontal Layout

Usage

CocoaPods

Add the following to your Podfile and run $ pod install.

pod 'MSCollectionViewCalendarLayout'

If you don't have CocoaPods installed, you can learn how to do so here.

Invalidating Layout

If you change the content of your MSCollectionViewCalendarLayout, make sure to call the invalidateLayoutCache method. This flushes the internal caches of your MSCollectionViewCalendarLayout, allowing the data to be repopulated correctly.

Section Layouts

On the iPhone, MSCollectionViewCalendarLayout defaults to tiling its day sections vertically. The day column headers act as they do in a table view, sticking to the top until they're replaced by the next day's as your scroll. On the iPad, the day sections are tiled horizontally. This behavior is controlled by the sectionLayoutType property. Its values can be:

  • MSSectionLayoutTypeHorizontalTile – Day sections tile vertically.
  • MSSectionLayoutTypeVerticalTile – Day sections tile horizontally.

Collection View Elements

MSCollectionViewCalendarLayout has nine different elements that you should register UICollectionReusableView and UICollectionViewCell classes for. They are:

  • Event Cell (UICollectionViewCell) – Represents your events.
  • Day Column Header (UICollectionReusableView) – Contains the day text, top aligned.
  • Time Row Header (UICollectionReusableView) – Contains the time text, left aligned.
  • Day Column Header Background (UICollectionReusableView) – Background of the day column header.
  • Time Row Header Background (UICollectionReusableView) – Background of the time row header.
  • Current Time Indicator (UICollectionReusableView) – Displayed over the time row header, aligned at the current time.
  • Current Time Horizontal Gridline (UICollectionReusableView) – Displayed under the cells, aligned to the current time.
  • Horizontal Gridilne (UICollectionReusableView) – Displayed under the cells, aligns with its corresponding time row header.
  • Vertical Gridilne (UICollectionReusableView) – Displayed under the cells, aligns with its corresponding day column header.

If you think there should be more of these, don't hesitate to add them in a pull request. To see how this is done, check the example.

Can I call performBatchUpdates:completion: to make stuff animate?

Don't do this. It doesn't work properly, and is a "bag of hurt".

Requirements

Requires iOS 6.0+ and ARC.

Contributing

Forks, patches and other feedback are welcome.

License

Copyright (c) 2013 Monospace Ltd. All rights reserved.

This code is distributed under the terms and conditions of the MIT license.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Bitdeli Badge

mscollectionviewcalendarlayout's People

Contributors

danblakemore avatar erichoracek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mscollectionviewcalendarlayout's Issues

iPhone 6 and 6 Plus issue

It's MSCollectionViewCalendarLayout.m file
It's a bug in this line:

self.sectionWidth = ((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) ? 194.0 : 254.0);

iPhone 6 bad look
It does not work well on the new iPhone's. I have try to use

self.sectionWidth = ((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) ? 194.0 : 300.0);

Much better
for iPhone 6 it looks much better. I think you should write this part of code using type of the device instead of constant numbers.
Good luck!

Potential cachedEndTimeDateComponents issue

I have an issue related with cachedEndTimeDateComponents and cachedStartTimeDateComponents.

If endTimeDateComponents earlier than startTimeDateComponents, there will be cells layout issue (all jumbled up cells)

From my perspective, this potential issue can be occurred on - (NSDateComponents *)endTimeForIndexPath:(NSIndexPath *)indexPath.

Of course we assumed the delegate already avoid an earlier endTimeDate (compared to startTimeDate) at protocol - (NSDate *)collectionView:(UICollectionView *)collectionView layout:(CalendarCollectionViewLayout *)collectionViewLayout endTimeForItemAtIndexPath:(NSIndexPath *)indexPath;

This rarely condition may happened at TimeZone switch, or (in my case) Daylight Saving Time changes. So an event could be ended with earlier endTime if compared to startTime.

Here's my temporary workaround for DST issue, perhaps it's not a best solution, but it works. However it can give the issue perspective for you about general idea.

- (NSDateComponents *)endTimeForIndexPath:(NSIndexPath *)indexPath
{
    if ([self.cachedEndTimeDateComponents objectForKey:indexPath]) {
        return [self.cachedEndTimeDateComponents objectForKey:indexPath];
    }

    NSDate *date = [self.delegate collectionView:self.collectionView layout:self endTimeForItemAtIndexPath:indexPath];
    NSDateComponents *itemEndTime = [[NSCalendar currentCalendar] components:(NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:date];


    NSDate *startDate = [self.delegate collectionView:self.collectionView layout:self startTimeForItemAtIndexPath:indexPath];

    NSDate * nextDST = [[NSTimeZone systemTimeZone] nextDaylightSavingTimeTransitionAfterDate:startDate];
    if (
        ([startDate compare:nextDST] == NSOrderedAscending || [startDate compare:nextDST] == NSOrderedSame)
        &&
        ([date compare:nextDST] == NSOrderedDescending || [date compare:nextDST] == NSOrderedSame)

        ) {

        NSDateComponents *itemStartTime = [self startTimeForIndexPath:indexPath];
        NSDateComponents * fixedEndTime = [[NSCalendar currentCalendar] components:(NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:startDate toDate:date options:0];

        NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
        [dateComponents setDay:itemStartTime.day + fixedEndTime.day];
        [dateComponents setHour:itemStartTime.hour + fixedEndTime.hour];
        [dateComponents setMinute:itemStartTime.minute + fixedEndTime.minute];

        itemEndTime = dateComponents;
    }

    [self.cachedEndTimeDateComponents setObject:itemEndTime forKey:indexPath];
    return itemEndTime;
}

Thanks

Deden

Can I have the iPad view in iPhone?

Hello! I am working on an calendar. I would like to have the native ios calendar landscape view, and that is similar to the iPad view of this sample. Can I have that on iPhone? Thank you very much!

background grid line

If we run the application in simulator with Retina display we can see the delimiter line inside the grid but inside a simulator without Retina the background is white.

Fix time gridline in vertical view on iphone help

Hi!

I have a question.
How can i change the code if i want a fix gridline "time table" (for example 8-22 hour in days)?
I didn't find that code snippet.

I hope you can help me.

By the way the code is amazing and very useful. Thx for share it!

Crash on reloading data and no data available

When I first have data loaded and displayed and then fetch new data from server and then 0 items have to be displayed the app crashes with that output

Assertion failure in -[UICollectionViewData layoutAttributesForDecorationViewOfKind:atIndexPath:], /SourceCache/UIKit_Sim/UIKit-2380.17/UICollectionViewData.m:639
2013-04-04 09:32:43.214 MyApp[84604:c07] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'request for layout attributes for decoration view of kind MSCollectionElementKindDayColumnHeaderBackground in section 0 when there are only 0 sections in the collection view'

This is how I reload the data:
-(void) loadDataFromServer:(BOOL) fromServer{
self.events = [[DataSourceManager sharedInstance] loadAllEventsFromServer:fromServer];

[self.collectionView reloadData];

}

self.events is an Array of Sections. I exchanged NSFetchedResultsController. And it is working if there is no data from the beginning or data with several items.

Masonry header not found

I can't found Masonry header View+MASShorthandAdditions.h. It's weird that other headers in Masonry can be found, that means I can use "mas_makeConstraints" but no "makeConstraints".

I checked project configurations and User Header Search Paths described in http://stackoverflow.com/questions/12002905/ios-build-fails-with-cocoapods-cannot-find-header-files They were all the same between the Example project and my project.

Anyone has any idea?

I'm using XCode5, Masonry 0.4.0

Example crashes on startup

Had to do a lot of tweaking to get it to run and it crashed on startup (maybe something silly I did). Seems like the dependencies are out of date (MASUtilities?). Nice example, but way too-too complex. Best to update example and reduce it to just the CalendarView with a couple events. No need for all the REST stuff and all the rest. Best to keep it simple-stupid?
Thanks, Felipe.

2014-09-17 15:37:32.484 Example[19741:3752299] I restkit:RKLog.m:33 RestKit logging initialized...
2014-09-17 15:37:32.896 Example[19741:3752299] I restkit.network:RKObjectRequestOperation.m:150 GET 'http://api.seatgeek.com/2/events?lat=39.75&lon=-104.984&per_page=500&range=10mi&taxonomies.name=sports'
2014-09-17 15:37:33.088 Example[19741:3752299] *** Assertion failure in -[MASLayoutConstraint setPriority:], /SourceCache/Foundation_Sim/Foundation-1139.1/Layout.subproj/NSLayoutConstraint.m:169
2014-09-17 15:37:33.090 Example[19741:3752299] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'It's illegal to set priority:1010. Priorities must be greater than 0 and less or equal to NSLayoutPriorityRequired, which is 1000.000000.'
*** First throw call stack:
(
0 CoreFoundation 0x02a4fdf6 exceptionPreprocess + 182
1 libobjc.A.dylib 0x026f0837 objc_exception_throw + 44
2 CoreFoundation 0x02a4fc8a +[NSException raise:format:arguments:] + 138
3 Foundation 0x00cfd3e0 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 118
4 Foundation 0x00c68b0c -[NSLayoutConstraint setPriority:] + 186
5 Example 0x0005a05f -[MASViewConstraint install] + 1167
6 Example 0x0005558b -[MASConstraintMaker install] + 491
7 Example 0x0005d122 -[UIView(MASAdditions) mas_makeConstraints:] + 194
8 Example 0x0000f355 -[UIView(MASShorthandAdditions) makeConstraints:] + 85
9 Example 0x00008cc2 -[MSEventCell initWithFrame:] + 2498
10 UIKit 0x01a2a112 -[UICollectionView _dequeueReusableViewOfKind:withIdentifier:forIndexPath:viewCategory:] + 1199
11 UIKit 0x01a2a50c -[UICollectionView dequeueReusableCellWithReuseIdentifier:forIndexPath:] + 160
12 Example 0x00005e3f -[MSCalendarViewController collectionView:cellForItemAtIndexPath:] + 127
13 UIKit 0x01a1b58a -[UICollectionView _createPreparedCellForItemAtIndexPath:withLayoutAttributes:applyAttributes:] + 258
14 UIKit 0x01a1d45a -[UICollectionView _updateVisibleCellsNow:] + 4984
15 UIKit 0x01a2197f -[UICollectionView layoutSubviews] + 263
16 UIKit 0x01398c98 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 608
17 libobjc.A.dylib 0x02703771 -[NSObject performSelector:withObject:] + 70
18 QuartzCore 0x025d35df -[CALayer layoutSublayers] + 152
19 QuartzCore 0x025c7465 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 397
20 QuartzCore 0x025c72c0 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 26
21 QuartzCore 0x02525a8e _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 284
22 QuartzCore 0x02526e54 _ZN2CA11Transaction6commitEv + 392
23 QuartzCore 0x02527520 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 92
24 CoreFoundation 0x02972fbe __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION
+ 30
25 CoreFoundation 0x02972f00 __CFRunLoopDoObservers + 400
26 CoreFoundation 0x0296893a __CFRunLoopRun + 1226
27 CoreFoundation 0x029681ab CFRunLoopRunSpecific + 443
28 CoreFoundation 0x02967fdb CFRunLoopRunInMode + 123
29 GraphicsServices 0x0518724f GSEventRunModal + 192
30 GraphicsServices 0x0518708c GSEventRun + 104
31 UIKit 0x0130e386 UIApplicationMain + 1526
32 Example 0x0000300d main + 141
33 libdyld.dylib 0x035a8ac9 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

Flip the x and y axis

Is there a way to flip the axes, so that the time is on the top? This would be useful for EPG (electronic programme guide) style apps, like this:

GitHub Logo

Calendar Event Overlap

Hello
We modified the number of events to be shown on the calendar for load testing.

Here are the changes:
[MSCalendarViewController.m] was changed to retrieve more data in the following way:

  • (void)loadData
    {
    [[RKObjectManager sharedManager] getObjectsAtPath:@"events" parameters:@{
    @"lat" : @(39.750), // Denver latitude
    @"lon" : @(-104.984), // Denver longitude
    @"range" : @"500mi", // 10mi search radius
    @"taxonomies.name" : @"sports", // Only "sports" taxonomies
    @"per_page" : @500 // Up to 500 results
    } success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
    NSLog(@"Successfully loaded %@ events", @(mappingResult.count));
    } failure:^(RKObjectRequestOperation *operation, NSError *error) {
    [[[UIAlertView alloc] initWithTitle:@"Unable to Load Events" message:[error localizedDescription] delegate:nil cancelButtonTitle:@"Continue" otherButtonTitles:nil] show];
    }];
    }

We then identified where the events are overlapping in an incorrect manner. Can you please advise how to resolve this issue?

Thanks so much.
calendaroverlap

Can not run

I open the Example.xcworkspace file by xcode and run the project Example, it reports the 2 errors

clang: error: no such file or directory: '/Users/xuwenfeng/Downloads/MSCollectionViewCalendarLayout-master/Example/Pods/Pods-RKValueTransformers-prefix.pch'
clang: error: no input files
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

clang: error: no such file or directory: '/Users/xuwenfeng/Downloads/MSCollectionViewCalendarLayout-master/Example/Pods/Masonry/Masonry/MASConstraint.m'

when i fix them ,it show other errors seems that without some files

Force UICollectionView to reload it's data source

Background

I try to implement an infinite scroll feature. (First fill the collectionView with cells. When scrolled to the bounds, reload the data and scroll the collectionView to the center. Details described in Advanced Scroll View Techniques @ https://developer.apple.com/videos/wwdc/2011/ )

Problem

I do something like this when scrolled to the edges:

[collectionView.dataSource doSomeUpdate];
[self.collectionView reloadData];
self.collectionView.contentOffset = CGPointMake(currentOffset.x + someOffset.x, currentOffset.y + someOffset.y);

These lines are placed in viewDidLayoutSubviews, which is on main thread.
After the executions above. I got errors:

Errors

*** Assertion failure in -[UICollectionViewData validateLayoutInRect:], /SourceCache/UIKit_Sim/UIKit-3318/UICollectionViewData.m:417
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UICollectionView received layout attributes for a cell with an index path that does not exist: <NSIndexPath: 0xc0000000001c03d6> {length = 2, path = 15 - 56}'

My Analysis

In my implementation, I have 48 or more than 48 cells for each section. 48 means the number of half-hour-cells I used to fill a section. The rest of them are event cells.
So the problem is I have section 15 initially configured to 58 items. After [self.collectionView reloadData], section 15 contains 48 items. I got attributes for indexPaths like 15-48, 15-49,.....15-57 in self.collectionViewCalendarLayout.

My debugging attempts

I tracked the bug down to [MSCollectionViewCalendarLayout layoutAttributesForElementsInRect:], In this method, [self.collectionView numberOfItemsInSection:] returns 58 for section 15, [self.collectionView.dataSource collectionView:numberOfItemsInSection:] returns 48 for section 15.

Conclusions and questions

Data source of the collectionView is updated while the layout cache in collectionView stays the same. It's not the layout cache that MSCollectionViewCalendarLayout implemented like allAttributes, but the layout cache in UICollectionView. Using [MSCollectionViewCalendarLayout invalidateLayoutCache] won't do any good because it's slow and it breaks the scrolling to date function of the custom layout. So how can I refresh the UICollectionView to force reload it's data source?

Sample Without Coredata

Hi,

can you please provide a sample without coredata/Restkit, im really interested in using it but we do not use restkit or core data currently in our app,

i really appreciate if you can help us in this

Regards,

invalidateLayoutCache-method should be expanded

I've spent several days searching for an error which occured when displaying the currentTime-indicator and currentTimeHorizontalGridline. The application crashed when filtering for calendar-events where there were none and the collectionView would be empty.
I nailed the problem down to the fact that the invalidateLayoutCache-method is NOT emptying the dictionaries currentTimeIndicatorAttributes and currentTimeHorizontalGridlineAttributes.
I'd recommend that these are cleared too, when invalidating the layoutCache.

Animation during rotation

First: great component! congrats!
I am trying to have realistic animations during rotation. The current situation is, that the different content views (supplementary and items) switch with an fade between the wider lansdcape state and the smaller portrait state which looks pretty clumpsy. I want them to change width during rotation. Any ideas?

Currently I do an invalidateLayoutCache during willRotateToInterfaceOrientation:duration:.

Example project crashes when starting after building in Xcode 5

I've just did a fresh installation of rvm and cocoapods, and after building and running the example project, it immediately crashes on MSCalendarViewController.m, on line 40. Here is the log:

2013-07-30 20:48:12.996 Example[71289:c07] -[MSCalendarViewController setCollectionViewLayout:]: unrecognized selector sent to instance 0x925af30
2013-07-30 20:48:16.005 Example[71289:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MSCalendarViewController setCollectionViewLayout:]: unrecognized selector sent to instance 0x925af30'

EDIT: It should probably be worth mentioning that I am using Xcode 5 DP. I'll see what happens with Xcode 4 as soon as it finishes downloading.
EDIT2: This seems to be Xcode 5 specific, as everything works in Xcode 4. Title changed accordingly.

Masonry

Hi. I Have struggled with an issue with Masonry for several hours now... I discovered that for some reason using Masonry from the pods inside the Example project provided by you works just fine (even without #importing things explicitly), but as soon as I try to use it inside my project it imports the header but doesn't see any of the methods or properties (at least for the View+MASShorthandAdditions). I suppose there's some setting that I have to toggle in my project but I have not been able to figure which. Please, I would appreciate very much if you could tell me how did you get around this. I have even copied the Example project inside my workspace and things work fine inside that one but not in mine...
Thank you very much

Single Section

I found layout issue when there is only one section in iPads. Check the attached. Ignore the font sizes.

Never mind !!! I fixed it.

Can't build example project

Hi,

I downloaded the source code, run pod install in the /Example directory and try to run Example.xcworkspace without success.

I'm I missing something?

2014-02-05 at 14 57

Suggestions for additional features

With respect to the default iOS iPad week calendar, i would like to suggest to add below option in this calendar:

  1. Display all dates even there are no events to display.
  2. Display all day events like Birthday and AM/PM events.
  3. Add new events by selecting the grid cell like on default iOS.
  4. Edit available events by selection.
  5. Move events one column to other and change timings of events.
  6. Display multiple users events.

Please let me know how much flexibility is available in this calendar to add above features?

Great Work Thanks a Lot!

Animation?

Disclaimer: I have no immediate need for animation. Just curious.

You say in the README not to use performBatchUpdates:completion for animation because it wont work and it is a terrible idea.

What would be the best way to add animation?

Also btw this looks like a great project. Most of the calendar apps are outdated and this one seems to be pretty cool.

Infinite scrolling

Is there a way to reach infinite scrolling in horizontal week view, even without events?
I've found that I need to put empty events in NSFetchedResultsController, but how can we do it endlessly?

workspace not compiling. too many Pods error!

I am trying to compile the whole wokspace along with Pods but I keep getting some error or the other in Pods - TKTransition, RestKit, or RKValueTransformers.

Any idea how to fix them all?

Pods-ISO8601DateFormatterValueTransformer-prefix.pch' no such file found

Hello,
I just download your project and open the workspace. But when i tried to run it , it is giving me following error.
MyFolder/calendersample/MSCollectionViewCalendarLayout-master/Example/Pods/Pods-ISO8601DateFormatterValueTransformer-prefix.pch'
no such file found
There is no "Pods-ISO8601DateFormatterValueTransformer-prefix.pch" file in folder.
Please let me know how to tackle with it.
Regards

how to show all days?

Is there any possibility to show all days (in year for example) in grid? Not just them which has an items in core data with that date.

"New iPad" reboots when rotating device

When I run on a "New iPad" (first retina ipad) with iOS 7.0.2/7.0.3, the device reboots. I have tested this in the example application as well, with the same result.

There is no crash report on the device, and the device log state a reboot, without much information.

After profiling i've seen memory warnings appear on other iPad versions. Might it be this?

To conclude on a positive note: awesome component, kudos!

Sticky Section Headers iOS7?

Currently the flow layout defaults to sticky section headers at the 0 y point of the view controller's view. So when displaying the calendar as a child of a navigation controller, the section headers are obscured by the navigation bar. Setting the contentInset property of the Collection View to the topLayoutGuide.length of the view controller does nothing.

Is there currently a property on the flow layout I can set, or an ideal time to invalidate the attribute cache, such that the section headers will respect the contentInsets that the view controller is setting?

Storyboard

Hi!

The Example works perfectly! But could you please provide an example how to use this great control with storyboard? Thanks!

Crash with Minute-Update on [self invalidateLayout]

Sometimes the app crashes in this method:

  • (void)minuteTick:(id)sender
    {
    // Invalidate cached current date componets (since the minute's changed!)
    [self.cachedCurrentDateComponents removeAllObjects];
    [self invalidateLayout];
    }

I commented it out so far - but your project is really cool.

Paging...

Is it possible to have a paging enabled ?

StartTime of the Event

Hi!
I've got a weird issue with a StartTime of Events. In my json-output the StartTime is e.g. 13:00, but the Layout shows it as 16:00 ( + 3 hours). Can anyone help me?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.