views:

74

answers:

2

Hi All,

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

A: 

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

Set the segmentedControlStyle as UISegmentedControlStyleBar.

Set 2 UIImage for up and down look.

raaz
Thankyou for the code
Ameya
+1  A: 

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

Michael Kessler
Thankyou for the code
Ameya