Measures of Central Tendency: Mean, Median and Mode
iPhone Development: Multiple Views
1. iPhone
Development:
Mul1ple
Views
Jussi
Pohjolainen
Tampere
University
of
Applied
Sciences
2. Mul1view
App:
U1lity
Applica1on
• Primarily
one
view
• Second
view
for
seAngs
• Example:
Stock
-‐
applica1on
3. Mul1view
App:
Tab
Bar
Applica1on
• Mul1view
app
that
displays
a
row
of
buIons
at
the
boIom
of
the
screen.
• Tapping
one
of
the
buIons
causes
new
view
to
be
ac1ve.
• Example:
Phone-‐app
4. Mul1view
App:
Naviga1on-‐Based
Applica1on
• Hierarchical
Informa1on
to
the
user
• Example:
Mail-‐app
5. Terminology
of
Views
• BuIons,
Labels
and
other
controls
are
subclasses
of
UIView
• View
generally
refers
to
subclass
of
UIView
that
has
corresponding
view
controller
• Views
with
view
controller
are
called
content
views.
6. UIWindow?
• UIWindow:
the
path
to
the
user
• If
you
want
something
to
be
visible
for
the
user,
you
must
use
the
UIWindow!
• UIView
objects
are
arranged
in
UIWindow
in
hierarchy.
• Parent
object
is
called
superview
– UIWindow
• UIView
– UIBuIon
8. UIView
• UIView
is
a
base
class
for
or
the
controls
– UIView
• UIControl
– UIBuIon
• UIView
may
be
also
a
content
view,
or
canvas.
• UIView
holds
several
controls:
– [someUIView addSubView: someButton];
• So
basically
we
could
have
a
UIWindow,
that
has
one
UIView
that
contains
two
UIViews
which
contains
several
controls
9. Controlling
Different
Content
Views
• To
control
different
content
views,
you
must
have
some
kind
of
root
controller
– UIViewController
(U2lity
app)
– UITabBarController
(Tab
Bar
app)
– UINaviga1onController
(Naviga1on
app)
• RootController
is
responsible
of
switching
views
• RootController
holds
content
views
18. Delegate
Class
.m
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[window addSubview: switchmyviewcontroller.view];
[window makeKeyAndVisible];
return YES;
}
19. Root
Controller
// Promise we will import these classes later
@class GrayViewController;
@class WhiteViewController;
@interface SwitchMyViewController : UIViewController {
GrayViewController *grayViewController;
WhiteViewController *whiteViewController;
}
@property (nonatomic, retain) GrayViewController *grayViewController;
@property (nonatomic, retain) WhiteViewController *whiteViewController;
// This method can change views. You can have for example a button
// that changes the content view
- (IBAction) switchViews:(id) sender;
@end
20. Content
View's
Controller
#import <UIKit/UIKit.h>
@interface WhiteViewController: UIViewController {
}
// Possible actions and outlets
-(IBAction) grayButtonPressed:(id) sender;
@end
21. UIViewController
-‐>
View?
• Each
View
Controller
has
a
View...
– ..where
all
the
controls,
widgets,
are
stored
• The
view
is
usually
implemented
in
Interface
builder
• So
you
should
have
– MyView1Controller.h
– MyView1Controller.m
– MyView1.xib