ios training session-3
DESCRIPTION
Programming with Segue Dynamic design through coding Views and its Co-ordinates Core animations Picture pickers Sound manager Address book picker - Hussain KMR BehesteeTRANSCRIPT
iOS Application Development
-Hussain KMR BehesteeThe Jaxara IT LTD.
[Session-3]
Programming with Segue Dynamic design through coding
Views and its Co-ordinates
Core animations Picture pickers Sound manager Address book picker
Agendas
Programming with Segue
Segue in Storyboarding
Programming with Segue
What is Segue?
Programming with Segue
Life Cycle of Segue
Your app never creates segue objects directly, they are always created on your behalf by iOS when a segue is triggered.
The destination controller is created and initialized. The segue object is created and its
initWithIdentifier:source:destination: method is called. The identifier is the unique string you provided for the segue in Interface Builder, and the two other parameters represent the two controller objects in the transition.
The source view controller’s prepareForSegue:sender: method is called.
The segue object’s perform method is called. This method performs a transition to bring the destination view controller on-screen.
The reference to the segue object is released, causing it to be deallocated.
Programming with Segue
Triggering a segue programmatically
- (void)orientationChanged:(NSNotification *)notification{ UIDeviceOrientation deviceOrientation =
[UIDevice currentDevice].orientation;
if (UIDeviceOrientationIsLandscape(deviceOrientation) && !isShowingLandscapeView) { [self performSegueWithIdentifier:@"DisplayAlternateView" sender:self];
isShowingLandscapeView = YES;
}}
Dynamic design through coding
UIView's frame:
The CGPoint: The CGSize :
struct CGRect { CGPoint origin; CGSize size; };
struct CGPoint { CGFloat x; CGFloat y; };
struct CGSize { CGFloat width; CGFloat height; };
[button setFrame:CGRectMake(x, y, width, height)];
Dynamic design through coding
Creating UI Object on the flyUIImageView* campFireView =
[[UIImageView alloc] initWithFrame: self.view.frame];
campFireView.image = [UIImage imageWithName:@"image.png"];
Adding to view[self.view addSubview: campFireView];
Dynamic design through coding
View Based Animation[UIView beginAnimations:nil context:NULL];[UIView setAnimationDuration:0.8];//animation logic here[UIView commitAnimations];
Set animation complete callback[UIView setAnimationDidStopSelector:
@selector(onAnimationComplete:finished:context:)];
onAnimationComplete – Callback- (void)onAnimationComplete:(NSString *)animationID
finished:(NSNumber *)finished context:(void *)context
Core animations
Image Based Animation create the view that will execute our animation UIImageView* campFireView = [[UIImageView alloc]
initWithFrame:self.view.frame]; load all the frames of our animation campFireView.animationImages = [NSArray
arrayWithObjects:[UIImage imageNamed:@"campFire01.gif"],[UIImage imageNamed:@"campFire02.gif"], nil];
campFireView.animationDuration = 1.75; repeat the annimation forever campFireView.animationRepeatCount = 0; start animating [campFireView startAnimating]; add the animation view to the main window [self.view addSubview:campFireView];
Core animations
Initialize the Image Picker and set delegate for interactionpicker = [[UIImagePickerController alloc] init];picker.delegate = self;
Checking and setting Source typeif ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){
picker.sourceType = UIImagePickerControllerSourceTypeCamera;} else{
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;}
Call the picker to front[self presentViewController:picker animated:YES completion:NULL];
Picture pickers
Initialization..
If the user cancels we just dismiss the picker and release the object- (void)imagePickerControllerDidCancel:(UIImagePickerController *) Picker {
[[picker presentingViewController] dismissViewControllerAnimated:YES
completion:NULL];}
But if the user selects an image or takes a photo with the camera(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ {
selectedImage.image = [info objectForKey:UIImagePickerControllerOriginalImage];
[[picker presentingViewController] dismissViewControllerAnimated:YES
completion:NULL];}
For more information
Picture pickers
Grabbing the image
Get the main bundle for the appCFBundleRef mainBundle = CFBundleGetMainBundle ();
Get the URL to the sound file to playCFURLRef soundFileURLRef;soundFileURLRef = CFBundleCopyResourceURL
( mainBundle, CFSTR ("tap"), CFSTR ("aif"), NULL); Create a system sound object representing the sound
fileSystemSoundID soundFileObject;AudioServicesCreateSystemSoundID (soundFileURLRef,
&soundFileObject);
Sound manager
For System Sound PlayAudioServicesPlaySystemSound
(soundFileObject); For Alert Sound Play
AudioServicesPlayAlertSound (soundFileObject); For Vibrate Play
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
Sound manager
Add Framework: AddressBookUI, AddressBook Add Header File: #import
<AddressBookUI/AddressBookUI.h> Add Protocol :
ABPeoplePickerNavigationControllerDelegate Responding to User Events
peoplePickerNavigationController:shouldContinueAfterSelectingPerson:
peoplePickerNavigationController:shouldContinueAfterSelectingPerson:property:identifier:
peoplePickerNavigationControllerDidCancel:
Address book picker
Address book picker
Address book picker
Address book picker
Address book picker
Question?
ThanksThanks