iPhone DatePicker с листом действий - PullRequest
1 голос
/ 19 января 2012

Я использую этот код для отображения выбора даты. Когда щелкнуло текстовое поле, оно появляется. Однако кнопка «Закрыть» перекрывает DatePicker. Вы знаете какой-нибудь способ немного сдвинуть его? заранее спасибо.

-(IBAction)acsheet:(id)sender{

actionSheet = [[UIActionSheet alloc] initWithTitle:nil 
                                          delegate:nil
                                 cancelButtonTitle:nil
                            destructiveButtonTitle:nil
                                 otherButtonTitles:nil];

[actionSheet setActionSheetStyle:UIActionSheetStyleBlackTranslucent];

//CGRect pickerFrame = CGRectMake(0, 45, 0, 0);
pickerView1 = [[UIDatePicker alloc] init];
pickerView1.datePickerMode = UIDatePickerModeDate;  



[actionSheet addSubview:pickerView1];

UISegmentedControl *closeButton = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObject:@"Close"]];
closeButton.momentary = YES; 
closeButton.frame = CGRectMake(260, 7.0f, 50.0f, 30.0f);
closeButton.segmentedControlStyle = UISegmentedControlStyleBar;
closeButton.tintColor = [UIColor blackColor];
[closeButton addTarget:self action:@selector(dismissActionSheet:) forControlEvents:UIControlEventValueChanged];
[actionSheet addSubview:closeButton];
[actionSheet showInView:[[UIApplication sharedApplication] keyWindow]];    
[actionSheet setBounds:CGRectMake(0, 0, 320, 485)];

[pickerView1 addTarget:self
             action:@selector(updateLabel:)
     forControlEvents:UIControlEventValueChanged]; 
UIBarButtonItem *spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissDatePicker:)] ;
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height, 320, 44)];
toolBar.tag = 11;
toolBar.barStyle = UIBarStyleBlackTranslucent;

[toolBar setItems:[NSArray arrayWithObjects:spacer, doneButton, nil]];
[self.view addSubview:toolBar];



}

Ответы [ 3 ]

8 голосов
/ 19 января 2012

Если вы хотите, чтобы UIDatePicker появлялся, когда UITextField становится первым респондентом, вам следует установить в качестве средства выбора даты значение inputView в текстовом поле.Затем, когда вы нажмете на поле, средство выбора даты сдвинется вверх вместо клавиатуры.

1 голос
/ 19 января 2012
closeButton.frame = CGRectMake(260, 7.0f, 50.0f, 30.0f);

измените значения 7.0f и 30.f на более положительные значения и попробуйте.Размер кнопки // increase it to shift the button lower

30.f - размер size.height кнопки // increase it by the same amount you increase origin to keep proportional height

0 голосов
/ 20 января 2012

Я работал сам;

Я изменил эту строку:

  pickerView1 = [[UIDatePicker alloc] init];

в это:

pickerView1 = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 40, 320, 450)];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...