InterfaceBuilder and user interfaces
|
|
- Jodie Casey
- 5 years ago
- Views:
Transcription
1 ES3 Lab 2 InterfaceBuilder and user interfaces
2 This lab InterfaceBuilder Creating components Linking them to your code Adding buttons, labels, sliders UITableView Creating a tableview Customizing cells UINavigationController Hierarchical table access
3 ASSESSED! THIS IS THE ASSESSED EXERCISE FOR THE iphonesection OF THE COURSE! Hand in two weeks from today me your source code Individual work -- don't copy someone elses! Feel free to use any online tutorials or references to learn more BUT don't just copy and paste code in In the later parts of the exercise you will need to refer to the API docs and/or other resources extensively
4 Exercise Create the Vehicle Recorder and Observer app Imagine a scenario where a police officer is recording suspicious vehicles... Enter basic data about vehicles you see (color, make, registration, location, time, photo) Use location and timestamp, photo from device Store it persistently Show data in a hierarchical menu view and a linked map view
5 Guide You will get at least a passing mark if you manage to implement just the basic recorder, which stores data persistently and shows the registrations in the list view You will get full credit if: the recorder works fully, including taking pictures data is stored peristently table view with navigation controller to select details details show picture when car is selected map view with annotations annotations can link to the table view and vice versa this last bit is tricky!
6 EH345 ERG Result
7 XCode + Interface Builder XCode and InterfaceBuilder are seperate applications Remember to save before switching between! In InterfaceBuilderyou can preview the interface with File/Simulate Interface, or actually build and test the app with File/Build and Go in XCode Double-click XIB files to open InterfaceBuilder
8 Procedure Construct the form for recording the data (in InterfaceBuilder) Link it to your code Make a button which takes a picture, reads the form and stores the data persistently Put the form in a tab bar Create a table view which lists all the vehicles recorded Put this table view in the tab bar Make it a hierarchical view with UINavigationController Add a table view to display the details Add an action when a row is selected to display the details Add a map view and put it in the tab bar Add annotations to the map view Link annotations to the detail view and vice versa
9 VehicleView We need a new UIViewControllerto represent our form where we will enter data about vehicles Use Add/New file... to add a new sublass of UIViewController Tick the "with XIB" option! This is ESSENTIAL --it creates the nib file to go with the UIViewController Add a VehicleView instance to the application delegate add a property and synthesize it too Initialise it with initwithnibname pass the name of the nib file that XCodecreated for you (@"VehicleView") self.vehicleview = [[[VehicleView alloc] initwithnibname:@"vehicleview" bundle:[nsbundle mainbundle]] autorelease]; [window addsubview:self.vehicleview.view];
10 VehicleView
11 Creating a form in InterfaceBuilder Open VehicleView.xib it will have a File's Owner, First Responder and a View
12 Adding controls Open the View by double-clicking it Drag and drop controls from the library window onto the view if Library isn't visible, Tools/Library will bring it up drag
13 Creating the form Make the interface look like this: remember, you can change visual properties using the Inspector window click the tab with the "slider" icon at the top of the Inspector to set attributes Picker view UIPickerView Textfields UITextField Button UIButton Segmented control (bar style) UISegmentedControl
14 Linking things Create outlets for the textfields, the picker and the segmented bar controls Just create variables in VehicleView, mark them IBOutlet e.g. of type UIButton* or UISegmentedControl* IBOutlet goes before the type IBOutlet UIButton *mybutton; Save the header file (IMPORTANT!) Go back to InterfaceBuilder Right-click the segmented bar control Choose "New referencing outlet" Drag a connection to File's Owner remember, the owner is the VehicleView instance! The name of the instance variable should pop up Click on the connection and it should appear Repeat for the textfields, the picker and the other segmented bar control If this doesn't work, either the instance variables are of the wrong type, you didn't mark them IBOutlet, or you didn't save before switching to InterfaceBuilder
15 Setting up the textfields There are three textfields One for each part of a registration number This is really just to show the different possibilities Using the Inspector, set first text field : capitalized, default keyboard, no correction second text field: phone keypad third text field: capitalized, default keyboard, no correction Set the placeholder text in the Inspector
16 UITextFieldDelegate Textfields must have delegates Make VehicleView conform to UITextFieldDelegate by changing the interface in the.h VehicleView:UIViewController <UITextFieldDelegate> { Implement the textfieldshouldreturn as follows - (BOOL) textfieldshouldreturn:(uitextfield *)textfield { [textfield resignfirstresponder]; return YES; } In IntefaceBuilder, link all three of the textfields' delegate properties to File's Owner Save, build it, and check that the UI appears Try entering text, check that the fields work The picker will not appear! It has no data source...
17 UIPickerDataSource Make VehicleView conform to UIPickerViewDataSourceand UIPickerViewDelegate, as well as UITextFieldDelegate putting everything in one class like this is not recommended for larger interfaces, but it simplifies things here Now we need a list of cars Use an NSMutableArray Create an NSMutableArrayinstance variable in VehicleView, make it a property and create an instance
18 The Data Source In viewdidload, something like this: //capacity is just initial capacity; it will expand automatically self.vehiclemodels = [NSMutableArray arraywithcapacity:32]; [self.vehiclemodels addobject:@"---"]; // no model [self.vehiclemodels addobject:@"ford"]; [self.vehiclemodels addobject:@"renault"]; //... etc... Now in VehicleViewimplement numberofcomponentsinpickerview (just return 1) only one section numberofrowsincomponent (return [self.vehiclemodels count]) i.e. number of vehicle models titleforrow(return [self.vehiclemodels objectatindex:row]) the title for each row is the name at that index in the array note: full signature is - (UIView *) pickerview:(uipickerview *)picker titleforrow:(nsinteger)row forcomponent:(nsinteger)component;
19 Check it! Save, go to InterfaceBuilderand connect the datasourceand delegate properties of the picker to File's Owner Save the interface Build it, and check that the picker now appears correctly!
20 Getting a value from the controls To read the values from the controls in your code, there are a few useful methods and properties Segmented controls store the currently selected index in the property selectedsegmentindex You can look up the label for a segment using titleforsegmentatindex Text fields have a simple text property Pickers have a a selectedrowincomponent method you look up the row in the array which provides the data for the picker
21 Linking class data to UI data Create a Vehicleclass to represent a single vehicle make sure it is a subclass of NSObject check carefully when you add the new class! For each entry, create a class variable for it time, location, registration, color, make, type make the variables of appropriate type When the user presses "Record", create a new instance, write the values from the UI to the instance variables
22 The record button Record should: take a picture record the time record the location construct a new Vehicle object with these values and the values from the form add it to the array of vehicles write it to disk Add a method to the view controller mark it as IBAction link it to the Record button's touchupinside in InterfaceBuilder
23 Taking a photo Use UIImagePickerController to take a picture //create a picker UIImagePickerController *imagepicker = [[UIImagePickerController alloc] init]; // allow user to pan and crop image imagepicker.allowsimageediting = YES; //send messages to this view controller imagepicker.delegate = self; // select the camera as the input source // on the emulator use UIPickerControllerSourceTypePhotoLibrary imagepicker.sourcetype = UIPickerControllerSourceTypeCamera; // present the picker [self presentmodalviewcontroller:imagepicker animated:yes];
24 Photo taking When the user takes the photo, the message imagepickercontroller:didfinishpickingmediawithinfo is sent to the delegate Make sure you implement this method You MUST dismiss the image picker in this method [picker dismissmodalviewcontrolleranimated:yes]; The image is a UIImageinstance in the info dictionary in key UIImagePickerControllerEditedImage Write it to disk find the home directory (see following) construct a random filename (see following) Use UIImagePNGRepresentation to get a NSData block representing the file Write the NSDatato the file
25 Random filename You can construct a random filename as follows: NSString *randomname = [NSString stringwithformat:@"image- %X%X.png",arc4random(),arc4random()]; This uses the ARC4 random number generator to create a 64 bit hex code (%X formats a number as hex) Remember to pass the filename to the method that records the data Otherwise you will have no reference to the file! Note: you could just store the UIImagedirectly in Vehicle, but that means that all the images must be loaded when the vehicle record is created It's much more efficient just to load images when they are viewed Use the following to get the home directory NSArray *documents = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomanMask, YES); NSString *homedirectory = [documents objectatindex:0];
26 Time and location Use NSDateto get the current date and time The datemethod returns the current time Use CoreLocation to get positional updates (see following instructions)
27 Getting location data Make sure you import <CoreLocation/CoreLocation.h> Also add the CoreLocation framework to the frameworks Add a instance variable of CLLocationManager to the view controller make property and synthesize instantiate in viewdidload with alloc/init (remember to release!) call startupdatinglocation Now location information is available in locationmanager.location check that it's not nil before using it (it will be until the first update) In the simulator, this location will always return the co-ordinates of Apple HQ, so don't worry if the values seem strange
28 Making Vehicle serializable Vehiclemust conform to the NSCodingprotocol so it can be read and written add initwithcoder and encodewithcoder methods encode and decode each member variable using encodeobject/decodeobject method of the coder you get passed You will only be encoding or decoding objects that already conform to NSCoding Encode each object in order, and in initwithcoder, decode each object in exactly the same order All you have to do is call encodeobject/decodeobjecton each variable
29 Vehicle List Make an NSMutableArray variable in the VehicleView class remember to make it a property This will store the list of vehicle records It can be serialized and deserialized from disk To create it, first test if there is an existing archive, and if not, create a new instance -- otherwise use the one unarchived from disk NSKeyedUnarchiver returns nil if the archive doesn't exist so try unarchiving, if it returns nil, just create a new empty array If you don't do this, the archive will be reset each time you run the recorder! Note: the archive should be written to a file in the app's home directory
30 Saving the data After the image picker sends a message saying it has finished Record the time, the location and construct the new Vehicle object Add it to the array of Vehicles Write it to disk with NSKeyedArchiver NOTE: write the entire array as the root object --don't try and make a key indexed archive
31 An extension... Try making the picker view for the vehicle manufacturer depend on the type of vehicle Kawasaki don't make many cars, and Ferrari don't make many vans... Hints: Use a NSMutableDictionary to link vehicle types to arrays of manufacturer names Send the UIPickerView instance a reloadallcomponents message to refresh it Listen to UIControlEventValueChanged in the segmented control
32 Putting it in a tab bar We're going to have three tabs: recorder (which we just created), viewer (a hierarchical table view) and a map view Recorder Table View Map View
33 Adding the tab bar In the app delegate, add an UITabBarController instance (property and synthesize) Now, originally you added VehicleView'sview to the window in appdidfinishlaunching Instead Create a NSMutableArray(not an instance variable, just locally) Put VehicleViewin it Instantiate the UITabBarController Set it's viewcontrollers property to the array containing VehicleView Set VehicleView's title propety Build it, and test that the tab bar appears! You may have to rearrange your form to fit
34 Adding a table view controller The second tab will have a table listing all of the registration numbers Create a subclass of UITableViewController In XCode, click subclass of UIViewController, then tick the UITableViewController box at the bottom You need to implement numberofsectionintable(return 1) cellforrowatindexpath(return a cell with the text set to the registration number at that index) numberofrowsinsection (return the size of the Vehicle array) drag NOTE: you need to find a way of making sure the Recorder and the Table view share the same array of Vehicle objects think about a clean way of doing this
35 Adding the controller to the tab bar In the app delegate Create an instance variable for the new table viewer in appdidfinishlaunching, instantiate it and add it to the tab bar array Set its title property Check that the table view appears!
36 Making it a navigation controller In the app delegate, instead of directly adding the controller into the tab bar: create a new instance of UINavigationControllerwith the root controller being the table view add this to the tab bar When you run it, there should now be a title
37 The detail table view Create a new subclass of UITableViewController to represent the details of the car so when the user taps on the registration number, the detail view pops up Create a constructor that takes a Vehicle object Create a constructor that takes a Vehicle object it will use this to populate the table
38 Pushing a new view Modify the table view's didselectrowatindexso that it creates a new instance of the detail view controllerwith the details of the selected vehicle then pushes the new viewcontroller Vehicle *vehicle = [self.vehiclerecords objectatindex:indexpath.row]; DetailViewController *detailviewcontroller = [[DetailViewController alloc] initwithvehicle:vehicle]; [self.navigationcontroller pushviewcontroller:detailviewcontroller]; [detailviewcontroller release];
39 Table layout Make it have two sections Set the title for section 0 to be Information, section 1 to Image In cellforrowatindexpath, use the cells textlabelproperty to set the text for the first section (color, registration, etc) For the second section, use the imageview property set the image property to a newly constructed UIImage loaded from the filename Use the heightforrowatindexpathto make the row for section 1 (the photo) to be reasonably large (e.g. 320 pixels tall - this will make portrait photos fullscreen) use self.tableview.rowheight for the other rows to get the default height
40 Adding a map view Create a new view controller, without a nib file Add a MKMapView component to the controller make sure you include the MapKit framework and import! Make sure the users position is visible hint: see the lecture notes! Add it to the tab bar Check that the map appears On the simulator, the map will always be centered on Cupertino...
41 Annotations Create a new class Make it conform to MKMapViewAnnotation It needs a title, subtitle and coordinate property Add instances of it to the map You need to implement the MKMapViewDelegateprotocol in order to return views for each pin You should also add a callout set the canshowcalloutproperty of the MKPinAnnotationView to YES when the delegate returns the new MKAnnotationView set the rightcalloutaccessoryview to have a UIButton instance make the button select the detail page in the table view This is tricky!
42 Polish There's an icon in the Lab.2zip file on the web (Icon.png) Create your own Default.png Capture the emulator window using Apple-Shift-4 Select just the region of the interface, excluding the top bar It should be 320x460 in size This will put a PNG file on your desktop Rename it to default.png and put it in the project
Widget Tour. iphone and ipod touch Development Fall 2009 Lecture 7
Widget Tour iphone and ipod touch Development Fall 2009 Lecture 7 Questions? Announcements Assignment #2 due Tonight by 11:59pm Today s Topics Controls Buttons Switches Sliders Segmented Controls Text
More informationBuilding GUIs with UIKit. Kevin Cathey
Building GUIs with UIKit Kevin Cathey Building GUIs with UIKit acm.uiuc.edu/macwarriors/devphone Building GUIs with UIKit What is UIKit? acm.uiuc.edu/macwarriors/devphone Building GUIs with UIKit What
More informationCreate an App that will drop PushPins onto a map based on addresses that the user inputs.
Overview Create an App that will drop PushPins onto a map based on addresses that the user inputs. Part 1: Introduction to MKMapKit Part 2: Introduction to PushPins Part 3: Use Google s API to lookup an
More informationCovers ios 6. Bear Cahill. Includes 98 Techniques MANNING
Bear Cahill Covers ios 6 Includes 98 Techniques MANNING ios in Practice by Bear Cahill Chapter 5 Copyright 2012 Manning Publications brief contents PART 1 GETTING STARTED...1 1 Getting started with ios
More informationAdvanced ios. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 20 11/01/2012
Advanced ios CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 20 11/01/2012 1 Goals of the Lecture Present a few additional topics and concepts related to ios programming persistence serialization
More informationITP 342 Mobile App Dev. Connections
ITP 342 Mobile App Dev Connections User Interface Interactions First project displayed information to the user, but there was no interaction. We want the users of our app to touch UI components such as
More informationMy First iphone App. 1. Tutorial Overview
My First iphone App 1. Tutorial Overview In this tutorial, you re going to create a very simple application on the iphone or ipod Touch. It has a text field, a label, and a button. You can type your name
More informationContents. iphone Training. Industry Trainers. Classroom Training Online Training ON-DEMAND Training. Read what you need
iphone Training Contents About iphone Training Our ios training classes can help you get off to a running start in iphone, ipod and ipad app development. Learn from expert Objective-C developers with years
More informationIndex. btndrop function, 224, 226 btngetquote function, 246 btnpressed function, 28 btnquote method, 245. CallWeb method, 238, 240
Index A App icons section icons set, 277 LaunchImage, 278 launch screen graphics, 278 279 PNG format, 277 settings, 276 App store deployment application graphics, 273 general settings Identity section,
More informationA Mobile Mapping Application
A Mobile Mapping Application MANNING SHELTER ISLAND A Mobile Mapping Application A special edition ebook Copyright 2013 Manning Publications contents about mobile mapping about this ebook v about the authors
More informationView Controllers CPRE 388
View Controllers CPRE 388 View Controllers Manage views in model view controller design template. Many types: custom view controller; container view controller; modal view controller. Custom View controllers
More informationMy First Cocoa Program
My First Cocoa Program 1. Tutorial Overview In this tutorial, you re going to create a very simple Cocoa application for the Mac. Unlike a line-command program, a Cocoa program uses a graphical window
More informationMy First iphone App (for Xcode version 6.4)
My First iphone App (for Xcode version 6.4) 1. Tutorial Overview In this tutorial, you re going to create a very simple application on the iphone or ipod Touch. It has a text field, a label, and a button
More informationBuilding Mapping Apps for ios With Swift
Building Mapping Apps for ios With Swift Jeff Linwood This book is for sale at http://leanpub.com/buildingmappingappsforioswithswift This version was published on 2017-09-09 This is a Leanpub book. Leanpub
More informationITP 342 Mobile App Dev. Connections
ITP 342 Mobile App Dev Connections User Interface Interactions First project displayed information to the user, but there was no interaction. We want the users of our app to touch UI components such as
More informationStructuring an App Copyright 2013 Apple Inc. All Rights Reserved.
Structuring an App App Development Process (page 30) Designing a User Interface (page 36) Defining the Interaction (page 42) Tutorial: Storyboards (page 47) 29 App Development Process Although the task
More informationCS193P: HelloPoly Walkthrough
CS193P: HelloPoly Walkthrough Overview The goal of this walkthrough is to give you a fairly step by step path through building a simple Cocoa Touch application. You are encouraged to follow the walkthrough,
More informationDesigning iphone Applications
Designing iphone Applications 4 Two Flavors of Mail 5 Organizing Content 6 Organizing Content 6 Organizing Content 6 Organizing Content 6 Organizing Content Focus on your user s data 6 Organizing Content
More informationIOS - TEXT FIELD. Use of Text Field. Important Properties of Text Field. Updating Properties in xib
IOS - TEXT FIELD http://www.tutorialspoint.com/ios/ios_ui_elements_text_field.htm Copyright tutorialspoint.com Use of Text Field A text field is a UI element that enables the app to get user input. A UITextfield
More informationStanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011
Developing Applications for ios Today UI Element of the Week UIToolbar ipad Split View Popover Universal (iphone + ipad) Application Demo Friday Section AVFoundation framework - Capturing and manipulating
More informationOVERVIEW. Why learn ios programming? Share first-hand experience. Identify platform differences. Identify similarities with.net
OVERVIEW Why learn ios programming? Share first-hand experience. Identify platform differences. Identify similarities with.net Microsoft MVP for 4 years C#, WinForms, WPF, Silverlight Joined Cynergy about
More informationiphone Application Tutorial
iphone Application Tutorial 2008-06-09 Apple Inc. 2008 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any
More informationIntroductory ios Development
Introductory ios Development 152-164 Unit 5 - Multi-View Apps Quick Links & Text References What is a Delegate? What is a Protocol? Delegates, Protocols and TableViews Creating a Master-Detail App Modifying
More informationAssignment III: Graphing Calculator
Assignment III: Graphing Calculator Objective The goal of this assignment is to reuse your CalculatorBrain and CalculatorViewController objects to build a Graphing Calculator. By doing this, you will gain
More informationCS193E Lecture 7. Document-based Applications NSTableView Key-Value Coding
CS193E Lecture 7 Document-based Applications NSTableView Key-Value Coding Agenda Questions? Review: delegates, MVC Document-based apps Table views Key Value Coding Model, View, Controller Controller Model
More informationITP 342 Mobile App Dev. Interface Builder in Xcode
ITP 342 Mobile App Dev Interface Builder in Xcode New Project From the Main Menu, select the File à New à Project option For the template, make sure Application is selected under ios on the left-hand side
More informationCSC 581: Mobile App Development Spring 2018
CSC 581: Mobile App Development Spring 2018 Unit 2: Introduciton to the UIKit UIKit, UIViews UIControl subclasses 1 UIKit the UIKit is a code framework for building mobile apps the foundational class for
More informationYour First iphone Application
Your First iphone Application General 2009-01-06 Apple Inc. 2009 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form
More informationApple Development Technology Workshops
Apple Development Technology Workshops Workshop 10 Table Views Building iphone Apps. Pt 2 Fall 2008 Hafez Rouzati Fall 2008 Zach Pousman Last Week UIViewControllers Organizing Content & Building iphone
More informationBindings Example Exercise James Dempsey - WWDC Pre-Show Cocoa Workshop
Bindings Example Exercise James Dempsey - WWDC Pre-Show Cocoa Workshop In this exercise you will create a basic document-based application using Cocoa Bindings. This application will allow the user to
More informationMVC and Interface Builder IAP 2010
MVC and Interface Builder IAP 2010 iphonedev.csail.mit.edu edward benson / eob@csail.mit.edu Information-Driven Applications Application Flow UIApplication Main NIB Initialized UIAppDelegate - (void)applicationdidfinishlaunching:(uiapplication
More informationYour First iphone OS Application
Your First iphone OS Application General 2010-03-15 Apple Inc. 2010 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form
More informationios Core Data Example Application
ios Core Data Example Application The Core Data framework provides an abstract, object oriented interface to database storage within ios applications. This does not require extensive knowledge of database
More informationStanford CS193p. Developing Applications for ios. Winter CS193p! Winter 2015
Stanford CS193p Developing Applications for ios Today UITextField Bonus Topic! Table View A UIView for displaying long lists or tables of data UITextField Like UILabel, but editable Typing things in on
More informationMobile Development - Lab 2
Mobile Development - Lab 2 Objectives Illustrate the delegation mechanism through examples Use a simple Web service Show how to simply make a hybrid app Display data with a grid layout Delegation pattern
More informationThe MVC Design Pattern
The MVC Design Pattern The structure of iphone applications is based on the Model-View-Controller (MVC) design pattern because it benefits object-oriented programs in several ways. MVC based programs tend
More informationios DeCal : Lecture 2 Structure of ios Applications: MVC and Auto Layout
ios DeCal : Lecture 2 Structure of ios Applications: MVC and Auto Layout Overview : Today s Lecture Model View Controller Design Pattern Creating Views in Storyboard Connecting your Views to Code Auto
More informationITP 342 Advanced Mobile App Dev. Core Data
ITP 342 Advanced Mobile App Dev Core Data Persistent Data NSUser Defaults Typically used to save app preferences Property List (plist) in Documents Directory Data is in a dictionary or an array Coders
More informationObjectives. Submission. Register for an Apple account. Notes on Saving Projects. Xcode Shortcuts. CprE 388 Lab 1: Introduction to Xcode
Objectives Register for an Apple account Create an application using Xcode Test your application with the iphone simulator Import certificates for development Build your application to the device Expand
More informationObjective-C Primer. iphone Programmer s Association. Lorenzo Swank September 10, 2008
Objective-C Primer iphone Programmer s Association Lorenzo Swank September 10, 2008 Disclaimer Content was blatantly and unapologetically stolen from the WWDC 2007 Fundamentals of Cocoa session, as well
More informationLesson 1: Hello ios! 1
Contents Introduction xxv Lesson 1: Hello ios! 1 ios Developer Essentials 1 A Suitable Mac 1 A Device for Testing 2 Device Differences 2 An ios Developer Account 4 The Official ios SDK 6 The Typical App
More informationMobile Application Development
Mobile Application Development Lecture 16 Controllers of View Controllers 2013/2014 Parma Università degli Studi di Parma Lecture Summary Multiple MVCs UINavigationController Segues UITabBarController
More informationUser Experience: Windows & Views
View Controller Programming Guide for ios User Experience: Windows & Views 2011-01-07 Apple Inc. 2011 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval
More informationiphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5
iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5 Questions? Announcements Assignment #1 due this evening by 11:59pm Remember, if you wish to use a free late you must email me before
More informationCorrections and version notes
Last updated 7 th May, 2014 Programming apps for the iphone Corrections and version notes Please feel free to email Graeme (gbsummers@graemesummers.info) for additional help or clarification on any of
More informationStanford CS193p. Developing Applications for ios. Fall CS193p. Fall
Stanford Developing Applications for ios Today Drag and Drop Transferring information around within and between apps. EmojiArt Demo Drag and drop an image to get our EmojiArt masterpieces started. UITableView
More informationA Mad Libs app that you will navigate through 3 UIViewControllers to add text that will be shown in a story on the fourth UIViewController.
WordPlay App: A Mad Libs app that you will navigate through 3 UIViewControllers to add text that will be shown in a story on the fourth UIViewController. Create a new project Create a new Xcode project
More informationIn the first class, you'll learn how to create a simple single-view app, following a 3-step process:
Class 1 In the first class, you'll learn how to create a simple single-view app, following a 3-step process: 1. Design the app's user interface (UI) in Xcode's storyboard. 2. Open the assistant editor,
More informationDocument Version Date: 1st March, 2015
7 Minute Fitness: ios(swift) Application Document Version 1.0.1 Date: 1st March, 2015 2 [7 MINUTE FITNESS: APP DOCUMENTATION] Important Notes:... 5 AppDelegate Class Reference... 6 Tasks... 6 Instance
More informationView Concepts. iphone Application Programming Lecture 4: User Interface Design. SDK provide many types of Views to show your content
View Concepts iphone Application Programming Lecture 4: User Interface Design SDK provide many types of Views to show your content At run-time Views are organized as a tree Chat Wacharamanotham Media Computing
More informationIntro to Native ios Development. Dave Koziol Arbormoon Software, Inc.
Intro to Native ios Development Dave Koziol Arbormoon Software, Inc. About Me Long time Apple Developer (20 WWDCs) Organizer Ann Arbor CocoaHeads President & ios Developer at Arbormoon Software Inc. Wunder
More informationios Mobile Development
ios Mobile Development Today UITableView! Data source-driven vertical list of views.! ipad! Device-specific UI idioms.! Demo! Shutterbug UITableView Very important class for displaying data in a table!
More informationiphone Programming Patrick H. Madden SUNY Binghamton Computer Science Department
iphone Programming Patrick H. Madden SUNY Binghamton Computer Science Department pmadden@acm.org http://optimal.cs.binghamton.edu General Outline Overview of the tools, and where to get more information
More informationXcode 4 Cookbook. Steven F. Daniel. Chapter No. 2 "User Interfaces Creating the UI"
Xcode 4 Cookbook Steven F. Daniel Chapter No. 2 "User Interfaces Creating the UI" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter NO.2 "User
More informationITP 342 Mobile App Dev. Table Views
ITP 342 Mobile App Dev Table Views Table Views The most common mechanism used to display lists of data to the user Highly configurable objects that can be made to look practically any way you want them
More informationDeveloping Applications for ios
Developing Applications for ios Lab 10: Nearby Deals (6 of 6) Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Task 1 Task: Save the favorite deals
More informationios Developer s Guide Version 1.0
HealthyFROGS ios Developer s Guide ios Developer s Guide Version 1.0 Tuesday May 7, 2013 2012-2013 Computer Science Department, Texas Christian University - All Rights Reserved HealthyFROGS ios Developer
More informationProduced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar
Design Patterns MSc in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie
More informationios Development Lecture 3 Controllers of View Controllers Ing. Simone Cirani
ios Development Lecture 3 Controllers of View Controllers Ing. Simone Cirani email: simone.cirani@unipr.it http://www.tlc.unipr.it/cirani Corso IFTS Cisita ios Development 2014 Parma Università degli Studi
More informationTypes of Views. View category Purpose Examples of views. Display a particular type of content, such as an image or text.
ios UI Components Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in Phone: +91-9999-283-283 Types of Views View
More informationCS193E: Temperature Converter Walkthrough
CS193E: Temperature Converter Walkthrough The goal of this walkthrough is to give you a fairly step by step path through building a simple Cocoa application. You are encouraged to follow the walkthrough,
More informationAssignment III: Graphing Calculator
Assignment III: Graphing Calculator Objective The goal of this assignment is to reuse your CalculatorBrain and CalculatorViewController objects to build a Graphing Calculator for iphone and ipad. By doing
More informationAssignment IV: Smashtag Mentions
Assignment IV: Smashtag Mentions Objective In this assignment, you will enhance the Smashtag application that we built in class to give ready-access to hashtags, urls, images and users mentioned in a tweet.
More information1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney
1 Build Your First App The way to get started is to quit talking and begin doing. Walt Disney Copyright 2015 AppCoda Limited All rights reserved. Please do not distribute or share without permission. No
More informationRunning Code on an ios Device. Appendix. The ios Developer Program
------- Appendix A Running Code on an ios Device Developing for ios is many things: challenging, fun, rewarding, and exciting. One thing it is not is free. To begin, doing any legitimate ios development
More informationTables. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder
Tables Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline Table View Controller Table View Table Cells
More informationNavigation bar (Xcode version 4.5.2) 1. Create a new project. From the Xcode menu, select File > New > Project
Navigation bar (Xcode version 4.5.2) 1. Create a new project. From the Xcode menu, select File > New > Project Choose the Single View Application template Click Next. In the Choose options for your new
More informationUI Design and Storyboarding
UI Design and Storyboarding Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline Model-View-Controller
More information} override func didreceivememorywarning() { 26 super.didreceivememorywarning() 27 } 28 } Pause Stop
Chapter 30 30.1 App App MP3 Don t Download This Song [1] Finder MP3 Xcode UI 1 import UIKit 2 import AVFoundation 3 4 class ViewController: UIViewController { 5 6 var player: AVAudioPlayer? 7 8 override
More informationLab #1: Chuck Norris Joke Generator Class
Lab #1: Chuck Norris Joke Generator Class Chuck Norris does not need Twitter... he is already following you. Chuck Norris doesnʼt flush the toilet, he scares the sh*t out of it. Chuck Norris is the reason
More informationITP 342 Mobile App Dev. Table Views
ITP 342 Mobile App Dev Table Views Tables A table presents data as a scrolling, singlecolumn list of rows that can be divided into sections or groups. Use a table to display large or small amounts of information
More informationLearn to make desktop LE
HACKING WITH SWIFT COMPLETE TUTORIAL COURSE Learn to make desktop LE P apps with real-worldam S Swift projects REEPaul Hudson F Project 1 Storm Viewer Get started coding in Swift by making an image viewer
More informationIPHONE DEVELOPMENT. Getting Started with the iphone SDK
IPHONE DEVELOPMENT Getting Started with the iphone SDK OBJECTIVE-C The Big Picture STRICT SUPERSET OF C The Objective C Language Any C stuff applies Standard libs are here (time, sqrt etc) The C Language
More informationios 9 SDK Development
Extracted from: ios 9 SDK Development Creating iphone and ipad Apps with Swift This PDF file contains pages extracted from ios 9 SDK Development, published by the Pragmatic Bookshelf. For more information
More informationReview. Objective-C Classes, Methods, Properties, Protocols, Delegation, Memory Management
Data Persistence Review Objective-C Classes, Methods, Properties, Protocols, Delegation, Memory Management Foundation NSArray, NSDictionary, NSString (and mutable versions thereof) MVC and UIViewController
More informationDeveloping Applications for ios
Developing Applications for ios Lab 2: RPN Calculator App (1 of 3) Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Task 1 Task: Create a new application
More informationLearn to make ios apps
HACKING WITH SWIFT PROJECTS 1-39 Learn to make ios apps E L P with real projects SAM E E FR Paul Hudson Project 1 Storm Viewer Get started coding in Swift by making an image viewer app and learning key
More informationAssignment III: Graphing Calculator
Assignment III: Graphing Calculator Objective You will enhance your Calculator to create a graph of the program the user has entered which can be zoomed in on and panned around. Your app will now work
More informationWhy Model-View-Controller?
View Controllers Why Model-View-Controller? Ever used the word spaghetti to describe code? Clear responsibilities make things easier to maintain Avoid having one monster class that does everything Why
More informationITP 342 Mobile App Dev. Interface Fun
ITP 342 Mobile App Dev Interface Fun Human Interface Guidelines ios Human Interface Guidelines https://developer.apple.com/ library/ios/documentation/ userexperience/conceptual/ MobileHIG/index.html 2
More informationAssignment III: Graphing Calculator
Assignment III: Graphing Calculator Objective You will enhance your Calculator to create a graph of the program the user has entered which can be zoomed in on and panned around. Your app will now work
More informationView Controller Lifecycle
View Controller Lifecycle View Controllers have a Lifecycle A sequence of messages is sent to them as they progress through it Why does this matter? You very commonly override these methods to do certain
More informationFrom Hello World to Finished App. raywenderlich.com
From Hello World to Finished App Why Learn ios? - Strong demand - Motivating - App Store - It s fun! What s This All About? - One Day Crash Course - For beginners & intermediates - Making apps with UIKit
More informationComputer Science 251. iphone Application Development. Autorotation, Popover Controllers, Modal Controllers
Computer Science 251 iphone Application Development Autorotation, Popover Controllers, Modal Controllers Two Types of Orientation Device: physically upside down, rotated left, on its back, etc. Can be
More informationCS193P - Lecture 8. iphone Application Development. Scroll Views & Table Views
CS193P - Lecture 8 iphone Application Development Scroll Views & Table Views Announcements Presence 1 due tomorrow (4/28)! Questions? Presence 2 due next Tuesday (5/5) Announcements Enrolled students who
More informationios Development - Xcode IDE
ios Development - Xcode IDE To develop ios applications, you need to have an Apple device like MacBook Pro, Mac Mini, or any Apple device with OS X operating system, and the following Xcode It can be downloaded
More informationLife Cycle. Chapter Explore the Game Application. Understanding the Views in a Game
3 Chapter Explore the Game Application Life Cycle There is more to a game than just the fun parts. Almost all of the games on the market, and definitely the big titles, involve multiple views and a reasonably
More informationMVC & Onwards. CS 442: Mobile App Development Michael Saelee
MVC & Onwards CS 442: Mobile App Development Michael Saelee Agenda - Recap: view-controller communication - Delegation as a general pattern - Observer pattern - Controller responsibilities & MVC - Multiple
More informationStanford CS193p. Developing Applications for ios. Spring Stanford CS193p. Spring 2012
Developing Applications for ios Today NSTimer and perform after delay Two delayed-action alternatives. More View Animation Continuation of Kitchen Sink demo Alerts and Action Sheets Notifying the user
More informationTopics in Mobile Computing
Topics in Mobile Computing Workshop 1I - ios Fundamental Prepared by Y.H. KWOK What is ios? From Wikipedia (http://en.wikipedia.org/wiki/ios): ios is an operating system for iphone, ipad and Apple TV.
More informationAssignment II: Foundation Calculator
Assignment II: Foundation Calculator Objective The goal of this assignment is to extend the CalculatorBrain from last week to allow inputting variables into the expression the user is typing into the calculator.
More informationITP 342 Mobile App Dev. Locations and Maps
ITP 342 Mobile App Dev Locations and Maps Locations and Maps Every ios device has the ability to determine where in the world it is Create a live interactive map showing any locations you like, including
More informationBuilding the App - Part 5 - Adding a Link
Unit 4 - Coding For Your App Copy and Paste the code below exactly where the tutorials tell you. DO NOT COPY TEXT IN RED. Building the App - Part 5 - Adding a Link XCODE 7 @IBAction func Button1(_ sender:
More informationS A M P L E C H A P T E R
SAMPLE CHAPTER Anyone Can Create an App by Wendy L. Wise Chapter 5 Copyright 2017 Manning Publications brief contents PART 1 YOUR VERY FIRST APP...1 1 Getting started 3 2 Building your first app 14 3 Your
More informationMobile Application Development
Android Native Application Development Mobile Application Development 1. Android Framework and Android Studio b. Android Software Layers c. Android Libraries d. Components of an Android Application e.
More informationIntroduction to MS Word XP 2002: An Overview
Introduction to MS Word XP 2002: An Overview Sources Used: http://www.fgcu.edu/support/office2000/word/files.html Florida Gulf Coast University Technology Skills Orientation Word 2000 Tutorial The Computer
More informationCS193P - Lecture 7. iphone Application Development. Navigation & Tab Bar Controllers
CS193P - Lecture 7 iphone Application Development Navigation & Tab Bar Controllers 1 Announcements Assignment 3 is due tomorrow Paparazzi 1 is due on Wednesday February 3rd 2 Today s Topics Navigation
More informationMobile Application Development
Mobile Application Development Lecture 13 Introduction to ObjectiveC Part II 2013/2014 Parma Università degli Studi di Parma Lecture Summary Object creation Memory management Automatic Reference Counting
More informationSocial Pinboard: ios(swift) Application
Social Pinboard: ios(swift) Application Document Version 1.0.1 Date: 15 th May, 2015 2 [SOCIAL PINBOARD: APP DOCUMENTATION] Important Notes:... 5 AppDelegate Class Reference... 6 Tasks... 6 Instance Methods...
More informationStanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011
Developing Applications for ios Today Persistence How to make things stick around between launchings of your app (besides NSUserDefaults) Persistence Property Lists Use writetourl:atomically: and initwithcontentsofurl:
More information