默认情况下当我在剩余的应用中创建一个UIDate
选择器时,当我点击完成时,当前时间必须在默认情况下输入,或者如果日期选择器是动画日期值可以改变,但在我的情况下,当前时间不会在默认情况下返回!请帮帮忙,1.My RemainderSetUpViewcontroller.h `UIDatePicker没有返回默认的当前时间和日期
@protocol RemainderDelegate <NSObject>
-(void)store:(NSArray *) remainderDel:(NSArray *) TimeDateDel;
@end
@interface RemainderSetUpViewcontroller : UIViewController<UITextFieldDelegate,UITextFieldDelegate>
{
UITextField *textField1;
NSString *str;
UIDatePicker *datePicker;
NSDate *date;
NSMutableArray *remainder;
NSMutableArray *TimeDate;
UILocalNotification* notification;
}
@property (strong, nonatomic)IBOutlet NSString* remainderr;
@property (strong, nonatomic)IBOutlet NSString *index;
@property(strong, nonatomic) id <RemainderDelegate> delegate;
-(void)addRemainder;
-(void)actionDone;
@end
`
2My RemainderSetUpViewcontroller.m:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.view setBackgroundColor:[UIColor whiteColor]];
UIBarButtonItem *add = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(addRemainder)];
self.navigationItem.rightBarButtonItem=add;
//TextField1...............................................................................................................
[email protected]"Add Remainder";
textField1 = [[UITextField alloc]initWithFrame:CGRectMake(20, 60, 280, 34)];
textField1.borderStyle = UITextBorderStyleRoundedRect;
textField1.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
textField1.delegate = self;
textField1.placeholder = @"Enter the Reminder name";
[self.view addSubview:textField1];
//datePicker&TextField2....................................................................................................
datePicker=[[UIDatePicker alloc]initWithFrame:CGRectMake(0,210, self.view.frame.size.width, self.view.frame.size.height)];
[datePicker addTarget:self action:@selector(actionDone) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:datePicker];
[[NSNotificationCenter defaultCenter] postNotificationName:@"reloadData" object:self];
//UserDefaults.............................................................................................................
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
remainder = [[NSMutableArray alloc]init];
TimeDate = [[NSMutableArray alloc]init];
if ([ud objectForKey:@"remainder"])
{
remainder = [[ud objectForKey:@"remainder"]mutableCopy];
TimeDate = [[ud objectForKey:@"TimeDate"]mutableCopy];
}
//to make the fields visible when we try to edit it............................................................................
if ([remainderr isEqualToString:@"edit"])
{
self.title = @"Reminder Edit";
textField1.text = [remainder objectAtIndex:[index integerValue]];
str = [TimeDate objectAtIndex:[index integerValue]];
}
}
#pragma mark - doneClicked
//DoneButton.................................................................................................................
-(void)actionDone
{
date = datePicker.date;
NSDateFormatter *dateform=[[NSDateFormatter alloc]init];
[datePicker setDate:[NSDate date]];
dateform.dateFormat = @"dd-MM-YYYY HH:mm:SS";
str=[dateform stringFromDate:date];
}
#pragma mark - AddRemainder Notifications
//addButton.................................................................................................................
-(void)addRemainder
{
//LocalNotification.........................................................................................................
notification = [[UILocalNotification alloc] init];
notification.fireDate = date;
notification.timeZone = [NSTimeZone defaultTimeZone];
notification.soundName = UILocalNotificationDefaultSoundName;
[[UIApplication sharedApplication] scheduleLocalNotification:notification];
//NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
if ([remainderr isEqualToString:@"edit"])
{
[remainder replaceObjectAtIndex:[index integerValue] withObject:textField1.text];
[TimeDate replaceObjectAtIndex:[index integerValue] withObject: str];
[self.navigationController popViewControllerAnimated:YES];
}
else if([remainderr isEqualToString:@"delete"])
{
[[UIApplication sharedApplication] cancelLocalNotification:notification];
}
else
{
if((textField1.text!=NULL)&&(date!=NULL))
{
[remainder addObject:textField1.text];
[TimeDate addObject: str];
[self.navigationController popViewControllerAnimated:YES];
}
else
{
UIAlertView *myAlert = [[UIAlertView alloc]initWithTitle:@"Alert !" message:@"Please Give a title for your Remainder " delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[myAlert show];
}
}
//Adding objects............................................................................................................
//NSLog(@"%@ %@", remainder, TimeDate);
[self.delegate store:remainder :TimeDate];
NSLog(@"The notifications is \n %@",notification);
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
@end
`
Thank you.
这是哪个错误?你可以发布错误意味着错误的时间和日期或一些图片吗? – user1673099
没有错误,我需要获取默认的当前日期,但我必须点击至少一次来设置日期。我需要日期在“当前时间默认”。 - 谢谢 –
我试着做“NSLog(@”通知是\ n%@“,通知);”并且日志消息是:'2013-10-18 12:23:36.010剩余[2433:207]通知是 {fire date =(null),time zone = Asia/Kolkata(IST)offset 19800,重复间隔= 0,重复计数= UILocalNotificationInfiniteRepeatCount,下一个火灾日期= 2013年10月18日星期五下午12:23:36印度标准时间}' –