Widget Tour. iphone and ipod touch Development Fall 2009 Lecture 7
|
|
- Opal Shepherd
- 5 years ago
- Views:
Transcription
1 Widget Tour iphone and ipod touch Development Fall 2009 Lecture 7
2 Questions?
3 Announcements Assignment #2 due Tonight by 11:59pm
4 Today s Topics Controls Buttons Switches Sliders Segmented Controls Text Fields Views Pickers Progress Bars Activity Indicators Images Views
5 Notes I m showing the relevant portions of the view controller interfaces and implementations in these notes Remember to release relevant memory in the -dealloc methods they are not shown here You will also need to wire up outlets and actions in IB Where delegates are used, they too require wiring in IB
6 Buttons
7 UIButton We ve already seen the basic UIButton known as the Rounded Rectangle type However, there are several other built-in button types Additionally, the iphone SDK allows us to roll our own button types
8 Button Attributes Types Here we see the various built in types Info light/dark are the small little i buttons commonly used to bring up the app s preferences The Detail Disclosure and Add Contact are circular buttons commonly used with contacts
9 Button Attributes States Buttons have several states.. Default normal unpressed Highlighted when pressed Disabled if button is turned off Selected if the button s selected property is set Typically selected is not used (at least on buttons) use a switch instead
10 Common Methods/Properties Method for getting the title for a given state - (NSString *)titleforstate:(uicontrolstate)state; Method for setting the title for a given state - (void)settitle:(nsstring *)title forstate:(uicontrolstate)state;
11 Other Methods/Properties There are also groups of methods/properties for... Creating buttons (in code) Configuring the button (images, title, insets) Getting the current state Getting the dimensions of a button Get all sorts of configuration information Get the type of button (Rounded Rectangle, Info, etc.)
12 ButtonsViewController.h #import ButtonsViewController : UIViewController {! UIButton *roundedrectangle;! UIButton *detaildisclosure;! UIButton *addcontact;! UIButton *infodark;! UIButton *infolight;! UILabel *info; IBOutlet UIButton IBOutlet UIButton IBOutlet UIButton IBOutlet UIButton IBOutlet UIButton IBOutlet UILabel *info; -
13 ButtonsViewController.m #import roundedrectangle,detaildisclosure,addcontact,infodark,infolight,info; - (IBAction)buttonPress:(id)sender { if(sender == self.roundedrectangle) { self.info.text Rectangle"; } else if(sender == self.detaildisclosure) { self.info.text Disclosure"; } else if(sender == self.addcontact) { self.info.text Contact"; } else if(sender == self.infodark) { self.info.text Dark"; } else if(sender == self.infolight) { self.info.text Light"; } else if(sender == self.custom) { self.info.text Button"; } } /*... Xcode provided methods...
14 Custom Colors Colors can be easily customized for the various states by simply using the choosers on the attributes tab
15 Custom Colors Our resulting (eyebleeding) custom colors The left is the default state The right is the highlighted state
16 Images as Buttons We can also provide our own image to be used as a button You can even specify different images for different states
17 Images as Buttons Simply drag and drop the images (as PNGs) into your Xcode project A common place people drop the images is into the Resources folder You ll usually want to create a copy Folder structure in Xcode is not the same as on disk
18 Images as Buttons To use an image as a button, select the Custom type
19 Images as Buttons Once the image is added, simply select the image you want to use for each state
20 Images as Buttons The last step in this process is to tell Interface Builder the size of the images so they don t get cropped
21 The resulting button... Images as Buttons
22 Custom Buttons Many apps customize buttons to match the overall color scheme or appearance of the app Rather than having to create all these different buttons, we can provide an image to be used as a template for creating button backgrounds
23 Using Stretchable Button Images The UIImage class has the following method... - (UIImage *)stretchableimagewithleftcapwidth:(nsinteger)leftcapwidth topcapheight:(nsinteger)topcapheight; This method returns an image (based on the current image) which will stretch to fill the button s space in a very specific way The left and top cap values define where the image gets cut and how it gets repeated
24 Using Stretchable Button Images Given the following image: And code... UIImage *buttonnormal = [UIImage imagenamed:@"bluebutton.png"]; UIImage *stretchnormal = [buttonnormal stretchableimagewithleftcapwidth:12 topcapheight:0]; Let s see what happens...
25 Using Stretchable Button Images The left cap of 12px appears as the left side of the button (Note: the image actually contains an alpha channel, shown here on a white background for visibility) Left side 12px cap
26 Using Stretchable Button Images The right side (less the cap) will appear on the right side of the button Right side width - 12px
27 Using Stretchable Button Images The column immediately following the cap will be repeated to fill the gap Similar rules apply to top caps Stretched Column
28 Code to Apply Stretchable Button Images // Implement viewdidload to do additional setup after // loading the view, typically from a nib. - (void)viewdidload {! [super viewdidload];! UIImage *buttonnormal = [UIImage imagenamed:@"graybutton.png"]; UIImage *stretchnormal = [buttonnormal stretchableimagewithleftcapwidth:12 topcapheight:0]; [custom setbackgroundimage:stretchnormal forstate:uicontrolstatenormal];! } UIImage *buttonpressed = [UIImage imagenamed:@"bluebutton.png"]; UIImage *stretchpressed = [buttonpressed stretchableimagewithleftcapwidth:12 topcapheight:0]; [custom setbackgroundimage:stretchpressed forstate:uicontrolstatehighlighted];
29 The resulting buttons... Stretchable Button Images
30 Switches
31 UISwitch You use the UISwitch class to create and manage the On/Off buttons you see in numerous apps This is the equivalent of a checkbox for iphone development
32 UISwitch Attributes UISwitches don t have nearly as many options as buttons You can however set the default state for the switch on or off
33 Common Methods/Properties Allows you to read or set (without any animation) the position of the getter=ison) BOOL on; Sets the switch to the specified position and optionally animates the toggling of the switch - (void)seton:(bool)on animated:(bool)animated;
34 Other Methods/Properties Not much else of interest for UISwitch...
35 SwitchesViewController.h #import SwitchesViewController : UIViewController { UISwitch *switch1; UISwitch *switch2; UILabel *info; IBOutlet UISwitch IBOutlet UISwitch IBOutlet UILabel *info; -
36 SwitchesViewController.m #import switch1, switch2, info; - (IBAction)toggle:(id)sender { if(sender == self.switch1) { self.info.text Switch 1";! [self.switch2 seton:!self.switch2.ison animated:yes]; } else { self.info.text Switch 2"; [self.switch1 seton:!self.switch1.ison animated:yes]; } }! /*... Xcode provided methods...
37 Sliders
38 UISlider A UISlider object is a control used to select a single value from a continuous range of values Unlike other toolkits, sliders on the iphone are always displayed horizontally
39 UISlider Attributes UISliders provide several points of customization You can specify the range of the slider and initial value of the thumb You can also provide images for either end of the slider Like the brightness part of the settings app
40 Common Methods/Properties Property to get or set (without animation) the current value of the float value; Sets the slider to the specified value and optionally animates the moving the thumb to the new value - (void)setvalue:(float)value animated:(bool)animated;
41 Other Methods/Properties There are also groups of methods/properties for... Accessing the limit values of a slider Modifying continuous behavior Modifying appearance via images Methods to facilitate subclassing
42 SlideViewController.h #import SliderViewController : UIViewController { UISlider *red; UISlider *green; UISlider *blue; retain) IBOutlet UISlider retain) IBOutlet UISlider retain) IBOutlet UISlider *blue; -
43 SlideViewController.m #import red, green, blue; - (IBAction)updateColor { self.view.backgroundcolor = [UIColor colorwithred:red.value green:green.value blue:blue.value alpha:1.0]; } /*... Xcode provided methods...
44 Segmented Controls
45 UISegmentedConrol A UISegmentedControl is a horizontal control consisting of multiple segments Only one segment may be selected at a given point in time Much like radio buttons in other toolkits
46 UISegmentedControl Attributes The number of segments can be specified For each segment, you can specify the title (or image) and choose if that segment is the selected index
47 Common Methods/Properties Returns the segment currently selected (zero based) or -1 if no segment is NSInteger selectedsegmentindex; Returns the title for the given segment index - (NSString *)titleforsegmentatindex:(nsuinteger)segment;
48 Other Methods/Properties There are also groups of methods/properties for... Initializing (in code) Managing content (image, text, etc.) Adding/Removing segments Modifying behavior and appearance
49 SegmentedConrolsViewController.h #import SegmentedControlsViewController : UIViewController { UISegmentedControl *foobar; UISegmentedControl *yesmaybeno; UISegmentedControl *beerwinecoffee; UILabel *info; retain) IBOutlet UISegmentedControl retain) IBOutlet UISegmentedControl retain) IBOutlet UISegmentedControl retain) IBOutlet UILabel *info; -
50 SegmentedConrolsViewController.m #import foobar, yesmaybeno, beerwinecoffee, info; - (IBAction)changeSelection:(id)sender { if(sender == foobar sender == yesmaybeno) { self.info.text = [sender titleforsegmentatindex: [sender selectedsegmentindex]]; } else { NSArray *opts = nil]; self.info.text = [opts objectatindex: [sender selectedsegmentindex]]; } } /*... Xcode provided methods...
51 Text Fields
52 UITextField We ve already seen the basics of text fields, but there are a lot of additional styles and options...
53 UITextField Attributes Placeholder is text that appears in the box when empty (in lieu of a label) Border determines outline Clear button allows you to specify if and when the x appears Clear When Editing Begins determines if the contents should be erased when the text field is selected We ve already see some of the keyboard configurations Secure masks the text being entered
54 Common Methods/Properties We ve already seen the text copy) NSString *text; And the delegate assign) id<uitextfielddelegate> delegate;
55 Other Methods/Properties There are also groups of methods/properties for... Accessing the text attributes (font, color, etc.) Adjusting the size (minimum font size, etc.) Managing editing behavior Setting background Clear behaviors Drawing information
56 TextFieldsViewController.h #import TextFieldsViewController : UIViewController <UITextFieldDelegate> { UITextField *field1, *field2, *field3, *field4, *field5, *field6; UILabel *info; retain) IBOutlet UITextField retain) IBOutlet UITextField retain) IBOutlet UITextField retain) IBOutlet UITextField retain) IBOutlet UITextField retain) IBOutlet UITextField retain) IBOutlet UILabel *info; - (BOOL)textFieldShouldReturn:(UITextField
57 TextFieldsViewController.m #import field1, field2, field3, field4, field5, field6; - (BOOL)textFieldShouldReturn:(UITextField *)textfield { [textfield resignfirstresponder]; self.info.text = [NSString stringwithformat:@"you entered: '%@'", textfield.text]; return YES; } /*... Xcode provided methods
58 Pickers
59 Pickers Provides a spinning wheel or slot machine metaphor to select from a list of multiple values Potentially multiple segments per wheel Use in lieu of a select or drop down menu
60 Pickers Picker views come in one of 2 flavors... UIDatePicker UIPickerView
61 Date & Time Pickers
62 UIDatePicker Attributes There are many different options for the date picker class First and foremost is the type of date picker you want there are 4 You can also set attributes for the start and stop values
63 UIDatePicker Types Date & Time Time Date Timer
64 Common Methods/Properties Property to get or set (without animation) the date represented by the date retain) NSDate *date; An animated setter method... - (void)setdate:(nsdate *)date animated:(bool)animated;
65 Other Methods/Properties There are also groups of methods/properties for... Getting localization related items (locale, time zone, etc) Configuring the mode (the 4 types) of date pickers Setting min/max/interval values
66 Pickers1ViewController.h #import Pickers1ViewController : UIViewController { UIDatePicker *picker; UILabel *info;! retain) IBOutlet UIDatePicker retain) IBOutlet UILabel *info; -
67 Pickers1ViewController.m #import picker, info; - (IBAction)getDateTime { self.info.text = [self.picker.date description]; } /*... Xcode provided methods
68 The resulting UI... UIDatePicker Example
69 Custom Pickers
70 UIPickerView The UIPickerView is a bit more complex The UIPickerView object requires the adoption of 2 protocols... UIPickerViewDelegate responsible for specifying what the cells look like UIPickerViewDataSource provides data about the number of components (wheels) and the number of rows (how many items per wheel)
71 UIPickerView Attributes The only interesting option here is the ability to hide or show the bar that s used to designate the current row
72 UIPickerView Methods/Properties There are groups of methods/properties for... Getting the size of the picker Reloading the view Selecting given items in the picker Setting the 2 delegates
73 UIPickerViewDelegate One of the following methods must be adopted in order for the UIPickerView to function... - (NSString *)pickerview:(uipickerview *)pickerview titleforrow:(nsinteger)row forcomponent:(nsinteger)component; - (UIView *)pickerview:(uipickerview *)pickerview viewforrow:(nsinteger)row forcomponent:(nsinteger)component reusingview:(uiview *)view; The first one simply requires the adopter to implement a title lookup method The second method actually returns a subview allowing for more customization
74 UIPickerViewDataSource The following 2 data source methods must be implemented in order for the picker to function properly - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerview; - (NSInteger)pickerView:(UIPickerView *)pickerview numberofrowsincomponent:(nsinteger)component; The first method tells the picker how many components (wheels) the view should have The second method tells the picker how many rows per a given component (the number of things on the wheel)
75 Reminder Be sure to wire up the delegates to the view controller (File s Owner) in Interface Builder If not, you re not going to be seeing much
76 Picker2ViewController.h #import Picker2ViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource> {! UIPickerView *picker;! NSArray *data;! UILabel *info;! retain) IBOutlet UIPickerView retain) NSArray retain) IBOutlet UILabel *info; -
77 Picker2ViewController.m #import picker, info, data; - (void)viewdidload { [super viewdidload]; self.data = @"Pineapples", nil]; } /*... */
78 Picker2ViewController.m /*... */ - (IBAction)getValue { self.info.text = [self.data objectatindex:[self.picker selectedrowincomponent:0]]; } - (NSString *)pickerview:(uipickerview *)pickerview titleforrow:(nsinteger)row forcomponent:(nsinteger)component { return [self.data objectatindex:row]; } - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerview { return 1; } - (NSInteger)pickerView:(UIPickerView *)pickerview numberofrowsincomponent:(nsinteger)component { return [self.data count]; } /*... Xcode provided methods...
79 The resulting UI... Custom UIPickerView Example
80 Progress Indicators
81 UIProgressView Typically this is used to show progress of some task, though some people simply use it as a means of displaying a value
82 UIProgressView Attributes For progress views you have the choice of 2 (similar) styles You can also set the default value (on a scale of zero to one) of the progress view
83 Common Methods/Properties The progress property can be used to get or set the value of the float progress;
84 Other Methods/Properties There are a few other methods for... Initializing a progress bar (in code) Getting/Setting the style of the bar
85 ProgressViewController.h #import ProgressViewController : UIViewController {! } UIProgressView *progress; UIButton *increase; UIButton retain) IBOutlet UIProgressView retain) IBOutlet UIButton retain) IBOutlet UIButton *decrease; -
86 ProgressViewController.m #import progress, increase, decrease; - (IBAction)update:(id)sender { if(sender == self.increase) { self.progress.progress +=.01; } else if(sender == self.decrease) { self.progress.progress -=.01; } } /*... Xcode provided methods...
87 Activity Indicators
88 UIActivityIndicatorView A UIActivityIndicatorView is used as a clue to cue users that some activity is taking place that is not necessarily visible Such as loading something from the web
89 UIActivityIndicatorView Attributes For activity indicators you have the choice of 3 different styles 1 large, 2 smaller throbbers You can also make the throbber disappear when not animated You can also set the throbber to hide when not animated
90 Common Methods/Properties Method to start the throbber... - (void)startanimating; Stop the throbber... - (void)stopanimating; Check to see if it is currently running... - (BOOL)isAnimating;
91 Other Methods/Properties There are groups of methods/properties for... Initializing a throbber (in code) Get/Set the hiding behavior Get/Set the style of the throbber
92 ActivityIndicatorViewController.h #import ActivityIndicatorViewController : UIViewController { UIActivityIndicatorView *throbber; UIButton *start; UIButton *stop; retain) IBOutlet UIActivityIndicatorView retain) IBOutlet UIButton retain) IBOutlet UIButton *stop; -
93 ActivityIndicatorViewController.m #import throbber, start, stop; - (IBAction)update:(id)sender { if(self.start == sender) { self.throbber.startanimating; } else if(self.stop == sender) { self.throbber.stopanimating; } } /*... Xcode provided methods...
94 Images
95 UIImageView UIImageViews are used to show an image or a sequence of animated images on screen
96 UIImageView Attributes The only real option is the image Assuming you ve imported an image into your project, you should be able to select from the list You will also want to be sure to resize your view to be the same size as your images if you do not want it to get cropped
97 Common Methods/Properties If you want to do animation, you can put together an array of UIImages to cycle through with the following copy) NSArray *animationimages; Use these methods to start/stop animation... - (void)startanimating; - (void)stopanimating; You can also check the animation status using... - (BOOL)isAnimating; Or, you can set the image in code using the image retain) UIImage *image;
98 Other Methods/Properties There are groups of methods/properties for... Initializing an image view (in code) Setting the images (including highlighted state) Various animation methods Getter/Setter attribute methods
99 Images Images used in my example... link.png megaman0.png megaman1.png megaman2.png megaman3.png
100 ImagesViewController.h #import ImagesViewController : UIViewController { UIImageView *megaman; UISwitch *animate; retain) IBOutlet UIImageView retain) IBOutlet UISwitch *animate; -
101 ImagesViewController.m #import megaman, animate; - (IBAction)change { if(self.animate.ison) { self.megaman.startanimating; } else { self.megaman.stopanimating; } } - (void)viewdidload { [super viewdidload]; UIImage *mega1 = [UIImage imagenamed:@"megaman1.png"]; UIImage *mega2 = [UIImage imagenamed:@"megaman2.png"]; UIImage *mega3 = [UIImage imagenamed:@"megaman3.png"]; self.megaman.animationduration =.5; self.megaman.animationimages = [NSArray arraywithobjects:mega1, mega2, mega3, nil]; } /*... Xcode provided methods...
102 Views
103 UIView UIViews are simply containers that can contain other widgets (also views) Can be used to group elements
104 UIView Attributes You can set a lot of attributes on UIViews Scaling behavior Transparency Background color Etc.
105 Methods/Properties Views have a lot of methods/properties for manipulating them in code... Initializing the view Modifying the bounds, center, transforms, etc. Managing the view hierarchy Converting points between views Displaying views Animating views Handling events and changes
106 ViewsViewController.h #import ViewsViewController : UIViewController { UISlider *red; UISlider *green; UISlider *blue; UIView *color; UISwitch *visible; UIView *subview; retain) IBOutlet UISlider retain) IBOutlet UISlider retain) IBOutlet UISlider retain) IBOutlet UIView retain) IBOutlet UISwitch retain) IBOutlet UIView *subview; - (IBAction)updateColor; -
107 ViewsViewController.m #import red, green, blue, visible, subview; - (IBAction)updateColor { self.color.backgroundcolor = [UIColor colorwithred:red.value green:green.value blue:blue.value alpha:1.0]; } - (IBAction)toggleView { [self.subview sethidden:!self.visible.ison]; } /*... Xcode provided methods...
108 Additional Resources The UICatalog sample code provided by Apple contains most of the widgets shown here UICatalog/ The iphone Human Interface Guidelines (HIG) document also provides some guidance on widget selection UserExperience/Conceptual/MobileHIG/
109 For Next Class Read at Table View Programming Guide for iphone OS UserExperience/Conceptual/TableView_iPhone/
View 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 informationInterfaceBuilder and user interfaces
ES3 Lab 2 InterfaceBuilder and user interfaces This lab InterfaceBuilder Creating components Linking them to your code Adding buttons, labels, sliders UITableView Creating a tableview Customizing cells
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 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 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 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 informationiphone Application Programming Lecture 5: View Programming
Lecture 5: View Programming Nur Al-huda Hamdan RWTH Aachen University Winter Semester 2015/2016 http://hci.rwth-aachen.de/iphone Name the UI Elements In the Screen 2 View Programming 3 View Programming
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 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 informationA Vertical Slider for iphone
A Vertical Slider for iphone The UISlider control offers a way to continuously get values from the user within a range of set values. In the Interface Builder library of controls, there is only a horizontal
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 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 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 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 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 informationUsing Advanced Interface Objects and Views
HOUR 9 Using Advanced Interface Objects and Views What You ll Learn This Hour:. How to use segmented controls (a.k.a. button bars). Ways of inputting Boolean values via switches. How to include web content
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 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 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 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 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 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 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 informationDeveloping Applications for ios
Developing Applications for ios Lecture 7: View Controller Lifecycle and UIKit Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Content View Controller
More informationAVAudioRecorder & System Sound Services
AVAudioRecorder & System Sound Services Dept. of Multimedia Science, Sookmyung Women s University. prof. JongWoo Lee Index AVAudioRecorder? - (AudioRecorder) System Sound Service? - (SysSound) AVAudioRecorder
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 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 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 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 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 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. 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 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 informationWorking with Text, Keyboards, and Buttons
HOUR 7 Working with Text, Keyboards, and Buttons What You ll Learn in This Hour: u How to use text fields u Input and output in scrollable text views u How to enable data detectors u A way to spruce up
More informationAnnouncements. Today s Topics
Announcements Lab 2 is due tonight by 11:59 PM Late policy is 10% of lab total per day late So -7.5 points per day late for lab 2 Labs 3 and 4 are posted on the course website Extensible Networking Platform
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 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 informationIntegrating Game Center into a BuzzTouch 1.5 app
into a BuzzTouch 1.5 app This tutorial assumes you have created your app and downloaded the source code; created an App ID in the ios Provisioning Portal, and registered your app in itunes Connect. Step
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 informationUser Experience: Windows & Views
View Programming Guide for ios User Experience: Windows & Views 2010-07-07 Apple Inc. 2010 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or
More informationNumbers Basics Website:
Website: http://etc.usf.edu/te/ Numbers is Apple's new spreadsheet application. It is installed as part of the iwork suite, which also includes the word processing program Pages and the presentation program
More informationITP 342 Mobile App Dev. Interface Components
ITP 342 Mobile App Dev Interface Components Human Interface Guidelines ios Human Interface Guidelines (HIG) https://developer.apple.com/ library/ios/documentation/us erexperience/conceptual/m obilehig/index.html
More informationIntro to Development for ios. Dave Koziol Arbormoon Software, Inc.
Intro to Development for ios Dave Koziol Arbormoon Software, Inc. About Me Long time Apple Developer (21 WWDCs) Organizer Ann Arbor CocoaHeads President & ios Developer at Arbormoon Software Inc. Multiple
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 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 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 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 informationStanford CS193p. Developing Applications for iphone 4, ipod Touch, & ipad Fall Stanford CS193p Fall 2010
Developing Applications for iphone 4, ipod Touch, & ipad Today One last Objective-C topic: Protocols Using protocols to define/implement/use a data source and/or delegate Views UIView and UIWindow classes
More informationStanford CS193p. Developing Applications for ios. Spring CS193p. Spring 2016
Stanford Developing Applications for ios Today Views Custom Drawing Demo FaceView Views A view (i.e. UIView subclass) represents a rectangular area Defines a coordinate space For drawing And for handling
More informationepicurious Anatomy of an ios app Robert Tolar Haining June 25, 2010 ConvergeSE
epicurious Anatomy of an ios app Robert Tolar Haining June 25, 2010 ConvergeSE + = Prototype iphone ipad Why iphone apps Simplicity Control Speed Revenue Epicurious Defined as a Recipe Utility Cookbook
More informationCSC 581: Mobile App Development Spring 2019
CSC 581: Mobile App Development Spring 2019 Unit 1: Getting Started with App Development Xcode installing XCode, creating a project, MVC pattern interface builder, storyboards, object library outlets vs.
More informationStanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011
Developing Applications for ios Views A view (i.e. UIView subclass) represents a rectangular area Defines a coordinate space Draws and handles events in that rectangle Hierarchical A view has only one
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 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 informationios Application Development Hello World App Rubric
ios Application Development Hello World App Rubric 1 HelloWorld App Rubric Unsatisfactory Needs Revision Proficient Exemplary There s indication that you (student) struggle to grasp concepts. Although
More informationlecture 10 UI/UX and Programmatic Design cs : spring 2018
lecture 10 UI/UX and Programmatic Design cs198-001 : spring 2018 1 Announcements custom app progress form due before lab (~1 minute) will be released after lecture only 2 labs left (both very important)
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 informationCS193p Spring 2010 Monday, April 12, 2010
CS193p Spring 2010 Announcements Axess! Make sure your grading option matches what you were approved for Sonali s Office Hours Changed Friday 11am to 1pm Thursday 10am to noon Gates B26B Any questions
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 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 informationCSE 438: Mobile Application Development Lab 2: Virtual Pet App
CSE 438: Mobile Application Development Lab 2: Virtual Pet App Overview In this lab, you will create an app to take care of your very own virtual pets! The app will only have one screen and simple logic,
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 informationAVAudioPlayer. avtouch Application
AVAudioPlayer avtouch Application iphone Application Index 1. iphone Application 1) iphone Application 2) iphone Application Main Method 3) iphone Application nib(.xib) 2. avtouch Application 1) avtouch
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 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 informationStanford CS193p. Developing Applications for ios. Winter CS193p. Winter 2017
Stanford Developing Applications for ios Today Views Custom Drawing Demo FaceView Views A view (i.e. UIView subclass) represents a rectangular area Defines a coordinate space For drawing And for handling
More informationAssignment I Walkthrough
Assignment I Walkthrough Objective Reproduce the demonstration (building a calculator) given in class. Materials By this point, you should have been sent an invitation to your sunet e-mail to join the
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 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 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 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 informationCS193p Spring 2010 Wednesday, March 31, 2010
CS193p Spring 2010 Logistics Lectures Building 260 (History Corner) Room 034 Monday & Wednesday 4:15pm - 5:30pm Office Hours TBD Homework 7 Weekly Assignments Assigned on Wednesdays (often will be multiweek
More informationEnterprise Architect. User Guide Series. Wireframe Models
Enterprise Architect User Guide Series Wireframe Models What Wireframe Modeling tool to use? Sparx Systems Enterprise Architect provides patterns and icons to help create Wireframe models of application
More informationUsing Microsoft Word. Working With Objects
Using Microsoft Word Many Word documents will require elements that were created in programs other than Word, such as the picture to the right. Nontext elements in a document are referred to as Objects
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 informationModern Auto Layout. Building Adaptive Layouts For ios. Keith Harrison. Web: useyourloaf.com Version: 1.0 ( ) Copyright 2018 Keith Harrison
Building Adaptive Layouts For ios Keith Harrison Web: useyourloaf.com Version: 1.0 (2018-10-01) Copyright 2018 Keith Harrison Contents 1 Introduction 1 Why Learn Auto Layout?........................ 1
More informationios Mobile Development
ios Mobile Development Today UITextView Scrollable, editable/selectable view of a mutable attributed string. View Controller Lifecycle Finding out what s happening as a VC is created, hooked up to the
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 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 informationMobile Development Lab 3
Mobile Development Lab 3 Objectives Illustrate closures through examples Have fun with maps, location and geolocation Have fun with animations Closures implemented in Swift Closures are self-contained
More informationMac OS X and ios operating systems. Lab 1 Introduction to Mac OS X and ios app development. Gdańsk 2015 Tomasz Idzi
Mac OS X and ios operating systems Lab 1 Introduction to Mac OS X and ios app development Gdańsk 2015 Tomasz Idzi Introduction This lab is designed to acquaint the student with the basic functionality
More informationAdopting Advanced Features of the New UI
Frameworks #WWDC14 Adopting Advanced Features of the New UI Session 220 Chris Dreessen AppKit Software Engineer! Corbin Dunn AppKit Software Engineer 2014 Apple Inc. All rights reserved. Redistribution
More informationStep 1: Open Xcode and select Create a new Xcode Project from the Welcome to Xcode menu.
In this tutorial we are going to build a simple calculator using buttons that are all linked together using the same method. We will also add our own method to the source code to create some additional
More informationLearn to make watchosle
HACKING WITH SWIFT COMPLETE TUTORIAL COURSE Learn to make watchosle P apps with real-worldam S Swift projects REEPaul Hudson F Project 1 NoteDictate 2 www.hackingwithswift.com Setting up In this project
More informationITP 342 Advanced Mobile App Dev. Memory
ITP 342 Advanced Mobile App Dev Memory Memory Management Objective-C provides two methods of application memory management. 1. In the method described in this guide, referred to as manual retain-release
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 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 informationAnnouncements. Today s Topics
Announcements Lab 2 is due tonight Lab 3 is posted Due next Wednesday Sept 30 th 1 Extensible - CSE 436 Software Networking Engineering Platform Workshop 1 Today s Topics Designing iphone Applica;ons Model-
More informationEnterprise Architect. User Guide Series. Wireframe Models. Author: Sparx Systems Date: 15/07/2016 Version: 1.0 CREATED WITH
Enterprise Architect User Guide Series Wireframe Models Author: Sparx Systems Date: 15/07/2016 Version: 1.0 CREATED WITH Table of Contents Wireframe Models 3 Android Wireframe Toolbox 4 Apple iphone/tablet
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 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 informationsrc3/bettertextfield/bettertextfield/appdelegate.h // AppDelegate.h // BetterTextField
src3/bettertextfield/bettertextfield/appdelegate.h 1 1 1 1 AppDelegate.h BetterTextField Created by Tommy MacWilliam on 3/7/ Copyright (c) 2012 MyCompanyName. All rights reserved. #import
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 informationEdge Television Advertisement. -Open the 3 images of TV characters and the network logo in Photoshop. Your images must be high resolution images!
-Open the 3 images of TV characters and the network logo in Photoshop. Your images must be high resolution images! -Use Layer Styles to add a White Stroke of 5 pixels to each image you cut out. This will
More informationViews. A view (i.e. UIView subclass) represents a rectangular area Defines a coordinate space
Views A view (i.e. UIView subclass) represents a rectangular area Defines a coordinate space Draws and handles events in that rectangle Hierarchical A view has only one superview - (UIView *)superview
More informationHow to...create a Video VBOX Gauge in Inkscape. So you want to create your own gauge? How about a transparent background for those text elements?
BASIC GAUGE CREATION The Video VBox setup software is capable of using many different image formats for gauge backgrounds, static images, or logos, including Bitmaps, JPEGs, or PNG s. When the software
More informationMobile Apps 2010 iphone and Android
Mobile Apps 2010 iphone and Android March 9, 2010 Norman McEntire, Founder Servin Corporation - http://servin.com Technology Training for Technology ProfessionalsTM norman.mcentire@servin.com 1 Legal Info
More informationLearn more about Pages, Keynote & Numbers
Learn more about Pages, Keynote & Numbers HCPS Instructional Technology May 2012 Adapted from Apple Help Guides CHAPTER ONE: PAGES Part 1: Get to Know Pages Opening and Creating Documents Opening a Pages
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 informationStanford CS193p. Developing Applications for ios. Winter CS193p! Winter 2015
Stanford CS193p Developing Applications for ios Today Objective-C Compatibility Bridging Property List NSUserDefaults Demo: var program in CalculatorBrain Views Custom Drawing Demo FaceView Bridging Objective-C
More information