Permalink
Switch branches/tags
Nothing to show
Commits on Feb 2, 2011
  1. Fixed re-load view hierarchy bug.

    klazuka committed Feb 2, 2011
    This closes issue #23 on GitHub. The issue was related to how we re-construct the view hierarchy after a low memory warning from the system. If the user had changed to a month different than the initial month when KalViewController was created, it would fail to find the appropriate KalTileView for the value that it had stored as the initially selected date. The solution is to re-cache the initially selected date when a low memory warning occurs.
    
    Original bug report by jgchristian:
    Steps to reproduce:
    1. Start your Holiday app
    2. Slide to the next month (i.e. not the current month)
    3. Select an event and view the holiday details
    4. When on the details screen, quit to the springboard by single clicking the home button (not double clicking to background). We need to force the device to want to reload the grid when we return - so you may need to do some memory intensive stuff - but not generally the case for me.
    5. Relaunch the Holiday app. This returns you to the details screen
    6. Now press back to return to the grid. Crash log below
    
    From the looks of the code this is happening because the 'logic' object is still on the next month (correct), but when loadView is triggered by the OS trying to re-instantiate the view it defaults to setting the current date on the grid - which was in the previous month so assertion fails as cell is nil.
    
    Thought about maintaining last user-selected date but started to get fiddly.
    
    2011-02-02 08:20:24.961 Holiday[3471:307] Received memory warning. Level=2
    2011-02-02 08:20:28.382 Holiday[3471:307] Assertion failure in -[KalMonthView tileForDate:], /Users/j.christian/dev/Kal/src/KalMonthView.m:84
    2011-02-02 08:20:28.510 Holiday[3471:307] Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Failed to find corresponding tile for date 2/2/2011'
Commits on Jan 22, 2011
  1. Made it easier to override KalViewController's title.

    klazuka committed Jan 22, 2011
    Prior to this commit, KalViewController used to clobber its 'title'
    property inherited from UIViewController in its loadView method. I
    changed this so that now it only sets a default title if the title
    property is nil. I modified both of the example apps to set the
    KalViewController's title explicitly.
    
    This makes it easier for clients of KalViewController to customize its
    behavior without resorting to subclassing or the even more drastic
    measure of modifying KalViewController's implementation.
    
    This closes issue #17 on GitHub.
  2. Fixed KalViewController delegate/dataSource retain bug.

    klazuka committed Jan 22, 2011
    A regression was introduced in SHA: 8fa33f4 where the
    KalViewController's delegate and dataSource properties were being
    retained by the setter implementation but were declared to be assigned
    properties. My intent was that these were weak references, and so this
    commit removes the retains. As a client of KalViewController, it is
    your responsibility to ensure that the lifetime of the
    KalViewController's delegate and dataSource properties has at least the
    same extent as the KalViewController object itself.
    
    This closes issue #18 on GitHub.
Commits on Sep 24, 2010
  1. Slide animation: fade previous month out while fading in the next mon…

    klazuka committed Sep 24, 2010
    …th. (thanks Daniel Gindi)
Commits on Sep 9, 2010
  1. Bugfix for Issue #7: 'Adjacent' days, when selected, the gray fill is…

    klazuka committed Sep 9, 2010
    … not filled correctly.
Commits on Aug 3, 2010
  1. Fixed bug in calendar month header where month name was incorrectly d…

    klazuka committed Aug 3, 2010
    …isplayed for languages such as Russian which have a separate stand-alone form of the month name.
Commits on Jul 23, 2010
  1. Follow-up to follow-up to f2f9ff8: Uggh. Ok, I think this is the fina…

    klazuka committed Jul 23, 2010
    …l part to the bugfix. I wish I would have tested this sooner on the real device.
  2. Follow-up to f2f9ff8: now redraws the current month if a significant …

    klazuka committed Jul 23, 2010
    …time change occurred.
  3. CRITICAL BUG FIX: today's date and iOS 4.0 multitasking.

    klazuka committed Jul 23, 2010
    Root cause: If an application using Kal is suspended in the background for an extended period of time (specifically, crossing the midnight threshold), when the app is resumed, Kal will still think that "today" has not changed. In my original implementation, I had naively assumed that the app would never be used for such an extended period of time, but iOS 4.0 multitasking makes my assumption invalid.
    
    Solution: Listen for the UIApplicationSignificantTimeChangeNotification from the OS and respond appropriately by recaching today's date and refreshing the UI.
Commits on Jul 12, 2010
  1. Updated EventKit example app to asynchronously fetch events from the …

    klazuka committed Jul 12, 2010
    …EKEventStore using a GCD queue.
Commits on Jul 9, 2010
  1. Updated README. Please read.

    klazuka committed Jul 9, 2010
  2. Added support for the KalDataSource to notify Kal that the UI needs t…

    klazuka committed Jul 9, 2010
    …o be refreshed. Added EKEventStoreChangedNotification handling to NativeCal example app.
Commits on Jul 7, 2010
  1. Added EventKit example

    klazuka committed Jul 7, 2010
Commits on Jul 6, 2010
  1. Significant changes to how Kal is built.

    klazuka committed Jul 6, 2010
    - Refactored the project structure into 2 Xcode projects: one that builds the static library and one that builds an example app using Kal.
    - Switched over to the iOS 4.0 SDK (in preparation for EventKit demo and Retina Display support).
Commits on Jul 5, 2010
Commits on Mar 11, 2010
  1. Updated the README

    klazuka committed Mar 11, 2010
  2. Renamed the '*IfVisible' methods and added an assertion that the date…

    klazuka committed Mar 11, 2010
    …'s corresponding tile can actually be found (i.e. it is visible)
  3. New feature: show and select arbitrary dates

    klazuka committed Mar 11, 2010
    1) When creating a KalViewController, you can now specify the initial selected date (before it always just displayed and selected today's date)
    2) You can now send a message to KalViewController to show and select an arbitrary date (before you could only tell it to show today's date).
Commits on Jan 12, 2010
  1. KalViewController's designated initializer is now 'init'. HolidaysDem…

    klazuka committed Jan 12, 2010
    …o now shows how to push a details view controller when the user taps a holiday listed below the calendar.
  2. Fixed an animation bug.

    klazuka committed Jan 12, 2010
    -[UIView setAnimationsEnabled:] is *not* scoped to the UIView animation transaction. So if you turn off animations, make sure you turn them back on immediately after the animation is triggered.
Commits on Jan 3, 2010
  1. More code cleanup

    klazuka committed Jan 3, 2010
  2. Fixed 2 memory leaks

    klazuka committed Jan 3, 2010
  3. KalViewController now exposes its UITableView as a property.

    klazuka committed Jan 3, 2010
    This allows you to provide your own UITableViewDelegate or to override the configuration of the UITableView (row height, separator color, etc.)
Commits on Jan 2, 2010
  1. Major overhaul of KalDataSource protocol and internal date representa…

    klazuka committed Jan 2, 2010
    …tion.
    
    Merge branch 'KalDate'
  2. HolidaysDemo: sqlite and json examples now with more countries and th…

    klazuka committed Jan 2, 2010
    …e cell displays the holiday country's flag