проблема с сборщиком - PullRequest
0 голосов
/ 30 мая 2011

Я разрабатываю приложение для ipad, у меня есть кнопка, я хочу, чтобы при нажатии на кнопку появилось подпредставление, содержащее указатель даты, готово отменить

проблема в том, что

  1. дата не выбрана
  2. при нажатии кнопки отмены сбой приложения нераспознанный селектор отправляется на экземпляр

Я использую следующий код

-(IBAction)BirthDatePicker:(id)sender{
    if(! ISPicker) {

        if( self.interfaceOrientation == UIInterfaceOrientationPortrait || self.interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
        {
            pickerView = [[UIPickerView alloc]initWithFrame:CGRectMake(0,700, 768, 216)];
            mytab = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 656, 768, 44)];


        }
        else {
            pickerView = [[UIPickerView alloc]initWithFrame:CGRectMake(0,439, 1024, 216)];
            mytab = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 395, 1024, 44)];


        }


        pickerView.alpha=0.0;
        mytab.alpha=0.0;

        //pickerView.showsSelectionIndicator = YES;
        [self.view addSubview:pickerView];
        [self.view bringSubviewToFront:pickerView]; 

        mytab.tintColor=[UIColor blackColor];

        UIBarButtonItem * bt1=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(_Done)];
        UIBarButtonItem * bt2=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(_cancel)];
        UIBarButtonItem * flx=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];

        NSArray *arr=[[NSArray alloc] initWithObjects:flx,bt1,bt2,nil];
        [mytab setItems:arr];
        [self.view addSubview:mytab];

        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:0.3];
        pickerView.alpha=1.0;
        mytab.alpha=1.0;
        [UIView commitAnimations];

        [pickerView release];
        [mytab release];
        [bt1 release];
        [flx release];
        [arr release];

        ISPicker = true ;
    }
}

-(void)_Done{

    ISPicker  = false ;

    NSDate * selected = [pickerView date];
    NSString * date = [selected description];
    DateLabel.text = date;

}

-(void)_Cancel{ 

    ISPicker  = false ;
    //// Release the view 
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.3];
    pickerView.alpha=0.0;
    mytab.alpha=0.0;

    [UIView commitAnimations];
}

любое предложение, пожалуйста

Ответы [ 2 ]

0 голосов
/ 30 мая 2011

неправильно в этой строке

pickerView = [[UIPickerView alloc]initWithFrame:CGRectMake(0,700, 768, 216)];

должно быть

pickerView = [[UIDatePicker alloc]initWithFrame:CGRectMake(0,700, 768, 216)];
0 голосов
/ 30 мая 2011

Вы не должны повторно собирать свои pickerView и myTab, пока не закончите, удалите выпуск из - (IBAction)BirthDatePicker:(id)sender и перейдите к -(void)_Done и -(void)_Cancel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...