Skip to content

Latest commit

 

History

History
 
 

TaskTimer

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
=======================================================================
TaskTimer

Version 1.1 14 May 2012      Add shake to reset
Version 1.0 6-April 2012     Initial Version
=======================================================================

The TaskTimer App is intended as an example on how to add accessibility
features to an existing App. It is based on the Master Detail Xcode
project template and is a universal app that uses Core Data for its
model. The basic function of the App is to time how long it takes to 
perform a list of tasks.

For further details see:

http://useyourloaf.com/blog/2012/4/23/voiceover-accessibility.html
http://useyourloaf.com/blog/2012/5/14/detecting-voiceover-status-changes.html

=======================================================================
Model
=======================================================================

Task.m
Task.h
The model consists of a single Core Data entity class for the task data.

=======================================================================
View
=======================================================================

UYLCounterView.h
UYLCounterView.m

The UYLCounterView is a custom UIView subclass used to display the
current duration of a task and buttons to start and stop the counter.
Users of the view can implement the UYLCounterViewDelegate protocol
to receive methods calls when the counter is stopper/started.

UYLTaskListViewController_iPad.xib
UYLTaskListViewController_iPhone.xib

iPad and iPhone versions of the NIB for the UYLTaskListViewController.
This NIB is a basic UITableView.

UYLTaskViewController_iPad.xib
UYLTaskViewController_iPhone.xib

iPad and iPhone versions of the NIB for the UYLTaskViewController. This
is a custom view containing a text view to allow the task name to be
displayed and edited. It also contains a UYLCounterView to show the
task timer.

=======================================================================
Controller
=======================================================================

UYLTaskListViewController.h
UYLTaskListViewController.m

The master view controller on the iPad and root view controller on the
iPhone. This controller implements the delegates for a table view
showing the list of tasks. The table supports adding/deleting of tasks.

On the iPad the currently selected task is shown in the detail view
controller which is implemented by a UYLTaskViewController.

On the iPhone selecting a task pushes a UYLTaskViewController onto
the navigation controller stack.

UYLTaskViewController.h
UYLTaskViewController.m

Used to show the task details and allow the task timer to be stopped
and started. A shake event can be used to reset the task. A reset
button is shown/hidden depending on the state of VoiceOver.

=======================================================================
App Delegate
=======================================================================

UYLAppDelegate.h
UYLAppDelegate.m

The App delegate is largely unmodified from the template code. It creates
the root view controllers and initialises the core data stack.

=======================================================================
Other files
=======================================================================

NSNumber+UYLTimeFormatter.h
NSNumber+UYLTimeFormatter.m

A category on NSNumber to provide a string representation of the elapsed
time.