2014-05-21 2 views
0

다른 UITextview에서 호출 할 UIActionSheet를 사용하고 있습니다. 한 번 날짜 선택기 및 값 목록으로.UIActionSheet가 이전 값과 섞여 있습니다.

두 번째로 값을 이전 값과 혼합합니다.

누군가가이 문제를 도와 드릴 수 있습니까?

- (void)viewDidLoad 
{ 
    pickerViewPopup = [[UIActionSheet alloc] initWithTitle:nil 
               delegate:self 
            cancelButtonTitle:nil 
           destructiveButtonTitle:nil 
            otherButtonTitles:nil]; 
pickerView = [[UIDatePicker alloc] initWithFrame: CGRectMake(0, 44, 320, 266)]; 
catPickerView = [[UIPickerView alloc]initWithFrame:CGRectMake(0, 44, 320, 266)]; 

[super viewDidLoad]; 
} 

#pragma mark - 
#pragma mark - TextField Delegate 

- (void)textFieldDidBeginEditing:(UITextField *)aTextField{ 
[aTextField resignFirstResponder]; 

switch (aTextField.tag) { 
    case 1: 
     [self ShowDatePick]; 
     break; 

    case 3: 
     [self ShowCategoryPick]; 
     break; 
    default: 
     break; 
} 
} 

-(void) ShowDatePick{ 
pickerView.datePickerMode = UIDatePickerModeDate; 
//pickerView.hidden = NO; 
pickerView.date = [NSDate date]; 
[pickerView addTarget:self action:@selector(updateTextField:)  forControlEvents:UIControlEventValueChanged]; 
[_txtDate setInputView:pickerView]; 

UIToolbar *pickerToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; 
pickerToolbar.barStyle = UIBarStyleDefault; 
[pickerToolbar sizeToFit]; 

NSMutableArray *barItems = [[NSMutableArray alloc] init]; 

UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil]; 
[barItems addObject:space]; 

UIBarButtonItem *cancelBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButtonPressed:)]; 
[barItems addObject:cancelBtn]; 

[pickerToolbar setItems:barItems animated:YES]; 

[pickerViewPopup addSubview:pickerToolbar]; 
[pickerViewPopup addSubview:pickerView]; 
//[self.view addSubview:pickerViewPopup]; 
[pickerViewPopup showInView:self.view]; 
[pickerViewPopup setBounds:CGRectMake(0,0,320, 464)]; 
} 

-(void) ShowCategoryPick{ 
pickerArray = [[NSArray alloc]initWithObjects:@"Chess", 
       @"Cricket",@"Football",@"Tennis",@"Volleyball", nil]; 

catPickerView.dataSource = self; 
catPickerView.delegate = self; 

UIToolbar *pickerToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; 
pickerToolbar.barStyle = UIBarStyleDefault; 
[pickerToolbar sizeToFit]; 

NSMutableArray *barItems = [[NSMutableArray alloc] init]; 

UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil]; 
[barItems addObject:space]; 

UIBarButtonItem *cancelBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButtonPressed:)]; 
[barItems addObject:cancelBtn]; 

[pickerToolbar setItems:barItems animated:YES]; 

[pickerViewPopup addSubview:pickerToolbar]; 
[pickerViewPopup addSubview:catPickerView]; 
[pickerViewPopup showInView:self.view]; 
[pickerViewPopup setBounds:CGRectMake(0,0,320, 464)]; 
} 

Mixed up UIActionSheet

답변

0

당신은 새로운 하나를 추가하기 전에 pickerViewPopup에서 이전에 추가 하위 뷰를 제거해야합니다

... 
[catPickerView removeFromSuperView]; 
[pickerViewPopup addSubview:pickerView]; 
... 

... 
[pickerView removeFromSuperView]; 
[pickerViewPopup addSubview:catPickerView]; 
...