Ameya
Ameya

Reputation: 1960

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

Upvotes: 6

Views: 2013

Answers (2)

raaz
raaz

Reputation: 12500

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

Set the segmentedControlStyle as UISegmentedControlStyleBar.

Set 2 UIImage for up and down look.

Upvotes: 1

Michael Kessler
Michael Kessler

Reputation: 14235

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

Upvotes: 7

Related Questions