Appdelegate.h
*************************************
- (BOOL)application:(UIApplication
*)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions
{
self.window
=
[[[UIWindow
alloc]
initWithFrame:[[UIScreen
mainScreen]
bounds]]
autorelease];
//
Override point
for customization
after application
launch.
self.viewController
=
[[[ViewController
alloc]
initWithNibName:@"ViewController"
bundle:nil]
autorelease];
FirstViewController
*first=[[FirstViewController
alloc]init];
SecondViewController
*second=[[SecondViewController
alloc]init];
UITabBarController
*tabBar=[[UITabBarController
alloc]init];
[tabBar
setToolbarItems:[NSArray
arrayWithObjects:@"first",@"second",
nil]
animated:YES];
[tabBar
setViewControllers:[NSArray
arrayWithObjects:first,second,
nil]];
[(UITabBarItem
*)[tabBar.tabBar.items
objectAtIndex:0]
setTitle:@"frist"];
[(UITabBarItem
*)[tabBar.tabBar.items
objectAtIndex:0]
setImage:[UIImage
imageNamed:@"first.png"]];
//30
*
30
[(UITabBarItem
*)[tabBar.tabBar.items
objectAtIndex:1]
setTitle:@"second"];
[(UITabBarItem
*)[tabBar.tabBar.items
objectAtIndex:1]
setImage:[UIImage
imageNamed:@"second.png"]];
self.window.rootViewController
=
tabBar;
[self.window
makeKeyAndVisible];
return
YES;
}
******************
ViewController.m
****************************
- (void)viewDidLoad
{
[super
viewDidLoad];
//
Do any
additional setup
after loading
the view,
typically from
a nib.
imageView=[[UIImageView
alloc]initWithFrame:CGRectMake(20,
100,
270,
200)];
imageView.backgroundColor=[UIColor
whiteColor];
NSUserDefaults
*defaults=[NSUserDefaults
standardUserDefaults];
if
([defaults objectForKey:@"Header"])
{
UIImage
*image=[UIImage
imageWithData:[defaults
objectForKey:@"Header"]];
imageView.image=image;
}
[[NSNotificationCenter
defaultCenter]addObserver:self
selector:@selector(ChangeHeader:)
name:@"MyHeader"
object:nil];
[self.view
addSubview:imageView];
UIButton
*btnidentity=[UIButton
buttonWithType:UIButtonTypeRoundedRect];
btnidentity.frame=CGRectMake(60,
350,
70,
30);
btnidentity.tintColor=[UIColor
greenColor];
[btnidentity
setTitle:@"切换图片"
forState:UIControlStateNormal];
[btnidentity
setTitleColor:[UIColor
greenColor]
forState:UIControlStateNormal];
[btnidentity
addTarget:self
action:@selector(ChangeImage:)
forControlEvents:UIControlEventTouchUpInside];
[self.view
addSubview:btnidentity];
UIButton
*btnCancel=[UIButton
buttonWithType:UIButtonTypeRoundedRect];
btnCancel.frame=CGRectMake(150,
350,
70,
30);
btnCancel.tintColor=[UIColor
greenColor];
[btnCancel
setTitleColor:[UIColor
redColor]
forState:UIControlStateNormal];
[btnCancel
setTitle:@"取消"
forState:UIControlStateNormal];
[btnCancel
addTarget:self
action:@selector(CancelImage:)
forControlEvents:UIControlEventTouchUpInside];
[self.view
addSubview:btnCancel];
}
-(void)ChangeImage:(id)sender
{
UIImagePickerController
*pickerController=[[UIImagePickerController
alloc]init];
pickerController.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
pickerController.mediaTypes=[UIImagePickerController
availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
pickerController.allowsEditing=YES;
pickerController.delegate=self;
[self
presentViewController:pickerController
animated:YES
completion:nil];
[pickerController
release];
}
-(void)ChangeHeader:(NSNotification
*)obj
{
self.imageView.image=obj.object;
}
-(void)CancelImage:(id)sender
{
[self
dismissViewControllerAnimated:YES
completion:nil];
}
- (void)didReceiveMemoryWarning
{
[super
didReceiveMemoryWarning];
//
Dispose of
any resources
that can
be recreated.
}
#pragma delegate
- (void)imagePickerController:(UIImagePickerController
*)picker didFinishPickingMediaWithInfo:(NSDictionary
*)info
{
NSLog(@"info:%@",info);
UIImage
*image=[info
objectForKey:UIImagePickerControllerOriginalImage];
NSLog(@"image%@",image);
self.imageView.image=image;
[picker
dismissViewControllerAnimated:YES
completion:nil];
[[NSNotificationCenter
defaultCenter]postNotificationName:@"MyHeader"
object:image
userInfo:Nil];
NSUserDefaults
*defaults=[NSUserDefaults
standardUserDefaults];
[defaults
setObject:UIImageJPEGRepresentation(image,
1)
forKey:@"Header"];
[defaults
synchronize];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController
*)picker
{
[picker
dismissViewControllerAnimated:YES
completion:nil];
}
#pragma -------
FirstViewController
*************
- (void)viewDidLoad
{
[super
viewDidLoad];
//
Do any
additional setup
after loading
the view.
self.view.backgroundColor=[UIColor
clearColor];
Header=[[UIImageView
alloc]initWithFrame:CGRectMake(30,
100,
320,
200)];
Header.backgroundColor=[UIColor
whiteColor];
NSUserDefaults
*defaults=[NSUserDefaults
standardUserDefaults];
if
([defaults objectForKey:@"Header"])
{
UIImage
*image=[UIImage
imageWithData:[defaults
objectForKey:@"Header"]];
self.Header.image=image;
}
[[NSNotificationCenter
defaultCenter]addObserver:self
selector:@selector(ChangeHeader:)
name:@"MyHeader"
object:nil];
[self.view
addSubview:Header];
}
-(void)ChangeHeader:(NSNotification
*)obj
{
self.Header.image=obj.object;
}
- (void)didReceiveMemoryWarning
{
[super
didReceiveMemoryWarning];
//
Dispose of
any resources
that can
be recreated.
}
**********************
SecondViewController
**********
- (void)viewDidLoad
{
[super
viewDidLoad];
//
Do any
additional setup
after loading
the view.
self.view.backgroundColor=[UIColor
clearColor];
Header=[[UIImageView
alloc]initWithFrame:CGRectMake(30,
100,
320,
200)];
Header.backgroundColor=[UIColor
whiteColor];
NSUserDefaults
*defaults=[NSUserDefaults
standardUserDefaults];
if
([defaults objectForKey:@"Header"])
{
UIImage
*image=[UIImage
imageWithData:[defaults
objectForKey:@"Header"]];
self.Header.image=image;
}
[[NSNotificationCenter
defaultCenter]addObserver:self
selector:@selector(ImageChange:)
name:@"MyHeader"
object:nil];
UIButton
*button=[UIButton
buttonWithType:UIButtonTypeRoundedRect];
button.frame=CGRectMake(150,
350,
70,
30);
[button
addTarget:self
action:@selector(changeImage)
forControlEvents:UIControlEventTouchUpInside];
[button
setTitle:@"更换图片"
forState:UIControlStateNormal];
[self.view
addSubview:Header];
[self.view
addSubview:button];
}
-(void)changeImage
{
ViewController
*viewController=[[ViewController
alloc]initWithNibName:@"ViewController"
bundle:nil];
[self
presentViewController:viewController
animated:YES
completion:nil];
}
-(void)ImageChange:(NSNotification
*)obj
{
self.Header.image=obj.object;
}
- (void)didReceiveMemoryWarning
{
[super
didReceiveMemoryWarning];
//
Dispose of
any resources
that can
be recreated.
}