Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Next and previous button like mail application in iPhone

How to create next and previous button in navigation bar like in mail application in iphone. alt text

like image 644
Ameya Avatar asked Jun 30 '10 04:06

Ameya


2 Answers

Use the next code (notice that you need the "prev.png" and "next.png" images - arrows):

- (void)addNextPrevSegmentedControl {
    // Prepare an array of segmented control items as images
    NSArray *nextPrevItems = [NSArray arrayWithObjects:[UIImage imageNamed:@"prev.png"], [UIImage imageNamed:@"next.png"], nil];
    // Create the segmented control with the array from above
    UISegmentedControl* nextPrevSegmentedControl = [[UISegmentedControl alloc] initWithItems:nextPrevItems];
    [nextPrevSegmentedControl addTarget:self action:@selector(nextPrevAction:) forControlEvents:UIControlEventValueChanged];
    // Create the bar button item with the segmented control from above
    UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithCustomView:nextPrevSegmentedControl];
    // Add the bar button item from above to the navigation item
    [self.navigationItem setRightBarButtonItem:rightButton animated:YES];
    // Release memory
    [rightButton release];
    [nextPrevSegmentedControl release];
}
- (void)nextPrevAction:(id)sender {
    if ([sender isKindOfClass:[UISegmentedControl class]]) {
        int action = [(UISegmentedControl *)sender selectedSegmentIndex];

        switch (action) {
            case 0:
                // Prev
                break;
            case 1:
                // Next
                break;
        }
    }
}


EDIT: corrected the code

like image 88
Michael Kessler Avatar answered Nov 01 '22 18:11

Michael Kessler


It can be implemented by using a UISegmentedControl with 2 Segments.

Set the segmentedControlStyle as UISegmentedControlStyleBar.

Set 2 UIImage for up and down look.

like image 24
raaz Avatar answered Nov 01 '22 18:11

raaz