2015-10-03 80 views
2

選擇日期和時間同時我準備一個日期選擇如下無法在IOS的UIDatePicker

dateView =[[UIView alloc]init]; 
dateView.frame=CGRectMake(0, 100, appDelegate.wVal, 400); 
[contentView addSubview:dateView]; 
datePicker =[[UIDatePicker alloc]init]; 
datePicker.frame = CGRectMake(0, 100, appDelegate.wVal, 300); 
[datePicker setDatePickerMode:UIDatePickerModeDate]; 
//[datePicker addTarget:self action:@selector(fillDate:) forControlEvents:UIControlEventValueChanged]; 
doneBtn =[[UIButton alloc]init]; 
doneBtn.frame= CGRectMake(0, datePicker.frame.origin.y+datePicker.frame.size.height+20, appDelegate.wVal, 50); 
[doneBtn setTitle:@"Done" forState:UIControlStateNormal]; 
[doneBtn setTintColor:[UIColor blackColor]]; 
[doneBtn setBackgroundColor:[UIColor greenColor]]; 
[doneBtn addTarget:self action:@selector(doneAction) forControlEvents:UIControlEventTouchUpInside]; 
[dateView addSubview:datePicker]; 
[dateView addSubview:doneBtn]; 

我doneAction方法是行不通的。

在此先感謝。

回答

-1

你試過用這個嗎?

NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@「dd-MM-YYYY HH:mm:ss」];

+0

這是什麼都與這個問題呢? – rmaddy

+0

如果由於格式而出現問題,如果開發人員使用了「[dateFormatter setDateFormat:@」dd-MM-YYYY];「,則不會顯示時間 –

+0

再次閱讀該問題。 。日期格式 – rmaddy

1

這是UIControlEventValueChanged控制事件附帶的默認行爲。監控器下的控制器的任何更改都會觸發操作處理程序。

我建議你在你的UI中放一個Done按鈕。一旦按下按鈕Done,就從日期和時間組件中獲取數據並使用它們。

編輯:後OP」的問題陳述變化:

首先,通過設置[dateView setUserInteractionEnabled:NO]嘗試一次。這將確保用戶觸摸到達子視圖。

二,這不是創建UIButton的建議方式。你不喜歡這樣:

UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[doneButton addTarget:self action:@selector(doneAction) forControlEvents:UIControlEventTouchUpInside]; 
+0

添加一個按鈕,在視圖中,但動作不叫 [doneBtn addTarget:自我行動:@selector(doneAction)forControlEvents:UIControlEventTouchUpInside]; doneAction方法不叫 – Prakash

+0

,你能否告訴簽名。 。你'doneAction'方法 – Abhinav

+0

- doneAction (無效){ 的NSLog(@ 「呼叫完成動作!」);} 這種方法甚至沒有得到所謂的從該視圖 – Prakash

0

招呼,希望這可以幫助你解決你的問題......

遵循以下步驟: -

1)First make one view 
2)In that view add uidatepicker 
3)Then in that view add two buttons like done or cancel 
4)Please referred following picture [![enter image description here][1]][1] 

注: - 我有加UIPicker。

enter image description here

上進行按鈕操作: -

- (IBAction)onDatePickerDoneClick:(id)sender 
{ 
    [self removeSubViewWithPopUpAnimation:self.datePickerView]; 
    self.selectedDate = [self.datePickerExpense1 date]; 
    self.strDateValue = [self convertDateToString:self.selectedDate dateformat:[self LocalDateFormat:@"dd MMMM yyyy"]]; 

    [self.tblDetails deselectRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:0] animated:YES]; 
    UITableViewCell *cell = [self.tblDetails cellForRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:0]]; 
    [((UILabel *)[cell.contentView viewWithTag:222]) setText:self.strDateValue]; 
}