Search code examples
iphoneuinavigationitem

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


Solution

  • 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