You'll work with the partner from this list.
Choose one partner to host your project. Store your Android Studio project for this
assignment in a subdirectory called "assignment4" in that partner's cs342 bitbucket repository.
To hand in this project, email your repository link to Jeff. Make sure your
repository is public so the grader can get it, too.
This is the same assignment as the one for Android, but
with iOS instead. Again, the goal is to get you comfortable with the development environment,
and to teach you some basic techniques of app construction, navigation, event handling, etc.
So, here's that assignment description again, copied directly from the previous assignment
and edited to change Android concepts into iOS concepts.
- Upon launch, your app should present the user with a UITableView, as in the ListDemo
sample from my swift_samples
repository. Each of the list items should have a disclosure arrow on the right side to
indicate that a tap on that item will cause navigation to a new screen.
- The main screen should have a navigation bar with a title and a bottom toolbar
containing at least an About item that takes the user to an About screen.
- When the user taps on a list item, the app should navigate to a
new UIViewController whose content is described in the list item itself. (For example,
if the list item says "Cow", the new screen might show an image of a cow,
which moos when you tap on it.)
- Each screen visited in this way should have a standard back arrow in the upper left
corner of the navigation bar. Tapping on the back arrow, of course, should return the
user to the original list screen.
- Your list should have at least three items, and the associated UIViewController screens
should explore different iOS tools or techniques. Your separate screens could, for
example, include a tappable image view screen (like the cow described above), a web view (i.e.
a mini web browser in your app), a bunch of standard controls like checkboxes and radio buttons and
text fields, a map view, a scroll view, an experiment with sound, a video, etc. etc. Keep each
screen focused on one basic iOS tool or technique.
- In general, your screens should slide in from the right and slide back out to the right
when the user taps the back arrow. On the other hand, if you want to experiment with other
animations, that's a good use of some list items.
- Make sure you include enough text labels to help a user understand what tools and
techniques each screen is exploring. That is, other members of this class should be
able to figure out what's going on in your app just by playing with it.
Try stuff and share
This is your chance not just to struggle with getting your bearings in iOS, but also
to try all sorts of iOS crap without needing to worry about an end user's needs. Are you
curious about how to make an app do X or Y? Then give X and Y a shot yourself.
Did you figure out how to do something neat? Then share it on slack, with the
URL of your bitbucket cs342 repository.
When these apps get submitted, we'll have a little show-off session to see some of the
most interesting things teams have done.
Have fun!
Get started early, and post questions on slack.