开发者

UIImage and UIImagePicker and UIImageView

I have a UISegmentedControl and I have some photos, my initial aim is when ever I click on a particular segment one particular image should appear on the view.

For example: If i have four segments and four images then upon each segment I click I must see a image.

Here I have taken an NSArray and Uploaded all these images using this particular below code:

NSArray * images = [NSArray arrayWithObjects:[UIImage imageNamed:@"f.ppg"], [UIImage imageNamed:@"t.ppg"....etc ], nil];

and after this I want to attach each particular im开发者_C百科age to a segment index. So here is the code which I wrote.

-(IBAction) segmentActionChanged:(id)sender
{
    int segment = mSegment.selectedSegmentIndex; 
    mImageView.image=[images objectAtIndex:segment]; 
}

While compiling the application I am not getting any Images displayed and it is quiting abruptly.

Any help regarding this.


To Answer questions 1 and 3 (I think). to display an image, you will need a UIImageView somewhere. a simple way to do this would be to create an method such as this.

    //somewhere in viewDidLoad perhaps?
    //title array is an array of strings to use as the label on each section of your control
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:titleArray];

    //this sets the segmentAction: method as the selector for your particular UISegmentedControl 
//(so when its value is changed, segmentAction: gets called)
    [segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];

    //the segmentAction: method
    - (IBAction) segmentAction:(id)sender
    {
    //This assumes you have declared the imageView elsewhere, as well as the array and that you  
 //are using Interface Builder to create/hookup the segmentControl. Basically
        myImageView.image = [myImageArray objectAtIndex:sender.selectedSegmentIndex];
    }

A few Notes: this does not take advantage of lazy loading, since you are creating and holding all of your images in an array prior to showing them. I would suggest creating an instance variable for the UISegmentedControl so you can access it anywhere also. Disclaimer: this code is not complete and assumes some initializations.

To answer question number two:A UIImagePickerController is used when dealing with the phone's/devices camera or saved photos album. It is covered in the documentation.


Looks like you're missing a retain.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜