Introduction

In this article I will create a Single view application. Here I use a Setting Button in the first view; when we click on the setting button it goes to the second view. In the second view I use a table view controller and on the table view cell I use an Image view, label, UITableViewCellAccessoryDisclosureIndicator and UITableViewCellAccessoryCheckmark. It is a best example of UIView in the iPhone.

To understand it we use the following.

Step 1

Open XCode by double-clicking on it.

Step 2

Create a New XCode Project by clicking on it.

Step 3

Now Select Single View Application and click on Next.

Step 4

Now provide your Product Name.

Step 5

Select the location where you want to save your project and click on Create.

Step 6

Now we write code:

MCNViewController.h

//
// MCNViewController.h
// Setting app in iphone
//
// Created by Sachin Bhardwaj on 01/12/12.
// Copyright (c) 2012 Sachin Bhardwaj. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface MCNViewController : UIViewController
{
IBOutlet UIButton *settingbtn;
}
@property IBOutlet UIButton *settingbtn;

-(IBAction)click;

@end

MCNViewController.m

//
// MCNViewController.m
// Setting app in iphone
//
// Created by Sachin Bhardwaj on 01/12/12.
// Copyright (c) 2012 Sachin Bhardwaj. All rights reserved.
//

#import "MCNViewController.h"
#import "SettingViewController.h"

@interface MCNViewController ()

@end

@implementation MCNViewController
@synthesize settingbtn;

-(IBAction)click
{


SettingViewController *setting = [[SettingViewController alloc ]init];
[self.navigationController pushViewController:setting animated:YES];

}

- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"Setting";
self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end

SettingViewController.h
//
// SettingViewController.h
// Setting app in iphone
//
// Created by Sachin Bhardwaj on 03/12/12.
// Copyright (c) 2012 Sachin Bhardwaj. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface SettingViewController : UITableViewController
{

IBOutlet UILabel *lbl1,*lbl2;
IBOutlet UIImageView *img1;


}

@property(nonatomic,strong)IBOutlet UILabel *lbl1;
@property(nonatomic,strong)IBOutlet UIImageView *img1;
@property (nonatomic, retain) NSMutableArray *arrCategories;
@property (nonatomic, retain) NSMutableArray *arrimages;

@end

SettingViewController.m

//
// SettingViewController.m
// Setting app in iphone
//
// Created by Sachin Bhardwaj on 03/12/12.
// Copyright (c) 2012 Sachin Bhardwaj. All rights reserved.
//

#import "SettingViewController.h"
#import "MobileCoreServices/MobileCoreServices.h"

@interface SettingViewController ()

@end

@implementation SettingViewController
@synthesize lbl1;
@synthesize img1;
@synthesize arrCategories,arrimages;


- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}

- (void)viewDidLoad
{
[super viewDidLoad];

self.arrCategories = [[NSMutableArray alloc]
initWithObjects:@"General", @"You Tube",
@"Safari", @"Photos", nil];
self.arrimages = [[NSMutableArray alloc]
initWithObjects:@"images.jpeg", @"image123.png",
@"images (2).jpeg", @"images (3).jpeg", nil];

}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{

return 2;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (section ==0) {
return 1;
}
else{
return 4;
}
return YES;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
if (indexPath.section == 0) {

cell.textLabel.text = @"Location Services";
cell.imageView.image = [UIImage imageNamed:@"images (4).jpeg"];
cell.accessoryType = UITableViewCellAccessoryCheckmark;


}

if (indexPath.section == 1) {


cell.imageView.image = [UIImage imageNamed:[arrimages objectAtIndex: indexPath.row]];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

NSString *Categories = [self.arrCategories
objectAtIndex: [indexPath row]];
cell.textLabel.text = Categories;
// Configure the cell...
}

return cell;
}

/*
// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
// Return NO if you do not want the specified item to be editable.
return YES;
}
*/

/*
// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the row from the data source
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
else if (editingStyle == UITableViewCellEditingStyleInsert) {
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
}
}
*/

/*
// Override to support rearranging the table view.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath
{
}
*/

/*
// Override to support conditional rearranging of the table view.
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
// Return NO if you do not want the item to be re-orderable.
return YES;
}
*/

#pragma mark - Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0) {

UIApplication *ourApplication = [UIApplication sharedApplication];
NSString *ourPath = @"http://maps.google.com/maps?ll=-37.812022,144.969277";
NSURL *ourURL = [NSURL URLWithString:ourPath];
[ourApplication openURL:ourURL];


}

if (indexPath.row==3)
{
if ([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypeSavedPhotosAlbum])
{
UIImagePickerController *imagePicker =
[[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.mediaTypes = [NSArray arrayWithObjects:
(NSString *) kUTTypeImage,
nil];
imagePicker.allowsEditing = NO;
[self presentModalViewController:imagePicker animated:YES];
}
}
else if (indexPath.row==2)
{
UIApplication *ourApplication = [UIApplication sharedApplication];
NSString *ourPath = @"http://www.google.com";
NSURL *ourURL = [NSURL URLWithString:ourPath];
[ourApplication openURL:ourURL];

}
else if (indexPath.row==1)
{
UIApplication *ourApplication = [UIApplication sharedApplication];
NSString *ourPath = @"http://www.youtube.com/watch?v=TFFkK2SmPg4";
NSURL *ourURL = [NSURL URLWithString:ourPath];
[ourApplication openURL:ourURL];

}

}


@end

Step 7

Finally we click on the run button to show the output.

Step 8

Output 1 in iPhone:

output1-in-iphone.jpg

Output 2 in iPhone:

output2-in-iphone.jpg

Output 3 in iPhone:

output3-in-iPhone.jpg

Output 4 in iPhone:

output4-in-iphone.jpg

Output 5 in iPhone:

output5-in-iphone.jpg

Output 6 in iPhone:

output6-in-iphone.jpg

Output 7 in iPhone:

output7-in-iphone.jpg

Output 8 in iPhone:

output8-in-iphone.jpg