UIBarButton added to PickerView

                      UIBarButton added to PickerView


  AppDelegate.h

#import <UIKit/UIKit.h>

@class ViewController;

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@property (strong, nonatomic) ViewController *viewController;

@end


 AppDelegate.m


#import "AppDelegate.h"

#import "ViewController.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;

}



 ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UIPickerViewDataSource, UIPickerViewDelegate, UITextFieldDelegate>

{ UIPickerView *cityPicker;
    UIToolbar*  mypickerToolbar;
 
    IBOutlet UITextField *txtText,*t2;
    NSString *names;
    NSArray *category,*name;
    NSMutableDictionary *dict;
    NSArray *obj;
   
}@end


 ViewController.m

#import "ViewController.h"

@interface ViewController ()
@end
@implementation ViewController

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    if (textField==txtText) {
        cityPicker.tag=1;
        [cityPicker reloadAllComponents];
t2.text=@"";      
    }
    else if (textField ==t2)
    {
        cityPicker.tag=2;
        [cityPicker reloadAllComponents];
    }  
return YES;
}

- (void)viewDidLoad
{  
    [super viewDidLoad];  
    category = [NSArray arrayWithObjects:@"books",@"Images",@"Cells", nil];  
    NSArray *books=[[NSArray alloc]initWithObjects:@"b1",@"b2",@"b3", nil];
    NSArray *images=[[NSArray alloc]initWithObjects:@"img1",@"img2",@"img3", nil];
    NSArray *cells=[[NSArray alloc]initWithObjects:@"c1",@"c2",@"c3", nil];  
    name=[[NSArray alloc]initWithObjects:books,images,cells, nil];
    NSLog(@"Names : %@",[name objectAtIndex:0]);
    dict=[[NSMutableDictionary alloc]initWithObjects:name forKeys:category];
 cityPicker = [[UIPickerView alloc] initWithFrame:CGRectZero];
    cityPicker.delegate = self;
    cityPicker.dataSource = self;
    [cityPicker setShowsSelectionIndicator:YES];
    txtText.inputView = cityPicker;
    t2.inputView = cityPicker;

    // Create done button in UIPickerView 
   
   
    mypickerToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 56)];  
    mypickerToolbar.barStyle = UIBarStyleBlackOpaque;
    [mypickerToolbar sizeToFit];
    NSMutableArray *barItems = [[NSMutableArray alloc] init];
   UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
   [barItems addObject:flexSpace];
    UIBarButtonItem *cancleBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelBtnPressed)];
    [barItems addObject:cancleBtn];
    UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(pickerDoneClicked)];
    [barItems addObject:doneBtn];
    [mypickerToolbar setItems:barItems animated:YES];
    [mypickerToolbar setHidden:NO];
    [cityPicker setHidden:NO];
 txtText.inputAccessoryView = mypickerToolbar;
    t2.inputAccessoryView = mypickerToolbar;
    NSLog(@"Keys Count: %i, Values Count: %i",[[dict allKeys]count ],[[dict allValues]count]);
   
}

-(void)cancelBtnPressed{
   txtText.text=@"";
    [txtText resignFirstResponder];
    t2.text=@"";
    [t2 resignFirstResponder];  
}

-(void)pickerDoneClicked
{
     NSLog(@"Done Clicked");  
    [txtText resignFirstResponder];
    [t2 resignFirstResponder];
}

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
//    if (pickerView.tag) {
//      
//    }
   return 1;
   
}


- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{  
    if (pickerView.tag==1) {
        return [[dict allKeys]count];      
    }
    else if (pickerView.tag==2)
    {
       obj=[dict objectForKey:txtText.text];
        return [obj count];
    }
return 0;
}


- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component

{  
    if (pickerView.tag==1) {      
        return [[dict allKeys]objectAtIndex:row];
    }
    else if (pickerView.tag==2)
        {
           // return [[dict objectForKey:txtText.text]objectAtIndex:0];
            return [obj objectAtIndex:row];
               }
    return NULL;  
}

- (void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    if (pickerView.tag==1) {
        txtText.text = (NSString *)[[dict allKeys]objectAtIndex:row];
        t2.text=@"";
    }
    if (pickerView.tag==2) {
        t2.text = (NSString *)[obj objectAtIndex:row];
    }
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

@end








tags:ui controls in ios, uikit framework reference, pickerview in iphone, pickerview in ios, uipickerview programmatically, uipickerview example, uibarbuttonitem programmatically,uibarbuttonitem example





0 comments:

Post a Comment

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Blogger Templates