IFD:IOSDev/Projects/Andreas

From Medien Wiki

Introduction

LivingCampus is an interactive flash web page for an university in Brandenburg. In this course, this interactive web page will be "convert" to a native iPad application. The aim is, that the iPad app looks as close as possible like the interactive flash web page.

LivingCampus has a start point and five menu points. Every menu points has a day version from 7 am to 7 pm, a night version from 7pm to 7am and some animations. For example people, who moves from left to right, birds flying in the air, cars moving and a clock is visible.

Possible contents for LivingCampus are text, images, a link list and a download list. For a special offline-version are movies also ok.

Views

Start and menu points

Views show the initial loader view and all menu point in day and night version

Contents

Views show all content specific views

Standard content

Views, which can be visible in all menu items

Special contents

Views, which are small applications in the flash web page

Classes

TBXML

This application reads xml date through the tbxml framework.

LivingCampusAppDelegate

The application delegate class. It has a reference to the LivingCampusViewController

LivingCampusViewController

The root controller for the Living Campus app. It controls the main things, like intro, outro animation, displaying the menu points and menu items for every menu point. It has also a reference to the basic model class named LivingCampusModel

Controller group

InitLoaderController class

This class controls the init loader for the app. This means the movement of the red filled logo and also the animation with a pencil, that writes text to complete the logo of the university.

Content group

This group contains all content specific controllers.

ContentContainerController Controller class which controls a contentContainer, which can have a TxtContentController, an ImgContentController, a DownloadContentController and the TopContentController, or subclasses of it. It controls also the movement from one content (e.g. text) to an other content (e.g. the image list).

ImpressumContainerController Is a subclass of the ContentContainerController to show only the site notice (Impressum) of this app, which comes from the web server.

TopContentController Its view is the first view which is visible in the ContentContainerController. It controls the display of the big images, the navigation between them and an overlay, which shows the title and the description, if the user taps on this image.

CampusMapTopController Subclass of the TopContentController to show the map of the Campus. For every building is a description, which is visible, if the user taps on the building.

PinwallTopController Subclass of the TopContentController in the menu point Mediathek (Media), to show some links to interesting web pages, which contains information about the university, e.g. links to social medie networks.

ProjectTopController Subclass of the TopContentController in the menu point Mediathek (Media), to show some links to student projects.

ContentController Is the base class for all contents, except the TopContent. Initialized the views with a background, a title, a close button and a button for the content. The screenshot called "Text view for the content container" shows three of them on the right of the ContentContainer.

TxtContentController Shows rich formatted text in a UIWebView. This can be text, with some links inside, or the link list of this application. If a link is taped it will inform its webDelegate to show the link in the TopWebView (see the section view for detail).

ImgContentController Shows a list of images in a table view. This class controls the tableView and is also the dataSource of the UiTableView. If the user taps on an item, this item will be visible in bog on the TopContentController.

DownloadContentController Is a subclass of the ImgContentController, but it shows different text and also selecting of an image does not rotate to the TopContentController. Instead it shows the content in the TopWebView.

View group

Model group