Sunday, December 20, 2009

Change alpha of Image View

In the last exercise, "Implement a Slider", the Image View is a static image element without any interaction. In this exercise, It's alpha will be changed according to the slider value.

Modify ImageViewViewController.h to add a IBOutlet, imageView, which will be point to the Image View.

#import <UIKit/UIKit.h>

@interface ImageViewViewController : UIViewController {
 UILabel     *sliderValue;
 UIImageView *imageView;
}
@property (nonatomic, retain) IBOutlet UILabel *sliderValue;
@property (nonatomic, retain) IBOutlet UIImageView *imageView;
- (IBAction)sliderChanged:(id)sender;
@end


Modify ImageViewViewController.m, to update imageView.alpha according to the slider.value.

#import "ImageViewViewController.h"

@implementation ImageViewViewController
@synthesize sliderValue; 
@synthesize imageView;
- (IBAction)sliderChanged:(id)sender { 
    UISlider *slider = (UISlider *)sender; 
    NSString *newText = [[NSString alloc] initWithFormat:@"%1.2f", 
       slider.value]; 
    sliderValue.text = newText; 
 imageView.alpha = slider.value;
    [newText release]; 
} 

- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
 
    // Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
 // Release any retained subviews of the main view.
 // e.g. self.myOutlet = nil;
}


- (void)dealloc {
 [sliderValue release];
 [imageView release];
    [super dealloc];
}

@end

Connect Outlet to Image View:

Drag the File's Owner by right button on mouse in ImageViewViewController.xib to over the Image View in View. Release and select imageView.

Connect Outlet

Connect Outlet

Save your work, and Build and Run in Xcode.
Image View with alpha control