2012-08-07 23 views

Odpowiedz

9
  1. Pierwszy na swojej xib (lub kod) ustawić tryb wyboru daty: czas (domyślnie jest data & czas)

  2. System zakłada, że ​​firedate jest aktualna data i godzina czas wybrany przez użytkownika. Nie stanowi to problemu, ponieważ ustawiasz interwał powtarzania, aby zadziałał. Przetestowałem to.

    UILocalNotification *localNotif = [[UILocalNotification alloc] init]; 
    [localNotif setFireDate:datePicker.date]; 
    [localNotif setRepeatInterval:NSDayCalendarUnit]; 
    [[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; 
    

PS: To byłby dobry pomysł, aby ustawić sekundy 0 użyciu NSDateComponents klasę tak, aby ustawić alarm dzwonić w pierwszej sekundzie chwili chcesz. Można sprawdzić:

Local notifications in iOS.

poradnik Ci pisał o tym, jak to zrobić.

+0

Dziękuję za odpowiedź, ale udało mi się zrobić to inną metodą .. Działa. Jedno pytanie .. Czy to możliwe, aby wyskoczyć niestandardowy widok powiadomienia zamiast domyślnego, a także chciałbyś dodać niestandardowy dźwięk, który dodany w moim projekcie jest to możliwe .. +1 dla twojej pomocy – GoCrazy

+2

Nie możesz wyświetlić wyskakującego powiadomienia niestandardowego. Możesz dodać niestandardowy dźwięk, ale powinien on znajdować się w pakiecie aplikacji. Nie można odtworzyć dźwięku, który aplikacja pobrała z internetu. Przed kompilacją można odtwarzać dźwięki systemowe lub dźwięki zaimportowane do aplikacji. Proszę bardzo. Proszę przyjąć odpowiedź, jeśli uważasz, że jest poprawna, aby pomóc przyszłym użytkownikom znaleźć rozwiązanie tego problemu. –

+0

tak. to, czego szukam, to możesz zamieścić kilka kodów do odtwarzania dźwięku w pakiecie aplikacji, który został zaimportowany przed kompilacją, proszę: – GoCrazy

0

Może być konieczna zmiana stylu selektora daty, aby umożliwić zmianę godziny oprócz daty.

+0

Dziękujemy za Twoje answer..Is można dodawać żadnych samouczek do ustawiania alarmu – GoCrazy

+1

Oryginalny samouczek oczekuje, że masz już pewne doświadczenie w tym środowisku i nie bez powodu: w każdym tutorialu na tym poziomie lub bardziej zaawansowanym istnieje wiele podstawowych rzeczy, do których możesz się potknąć. Sugeruję, że odświeżysz podstawy i popracujesz nad tymi zadaniami, w przeciwnym razie nie będziesz w stanie wykonać niczego, zmień go do swoich potrzeb lub napraw, jeśli się zepsuje. – Jesper

+0

Dzięki za komentarz .. rzeczywiście alarm zostanie zgłoszony, ale nie mogę uzyskać okna wyskakującego .. jaki będzie problem. – GoCrazy

1
+ (void)addLocalNotification:(int)year:(int)month:(int)day:(int)hours:(int)minutes:(int)seconds:(NSString*)alertSoundName:(NSString*)alertBody:(NSString*)actionButtonTitle:(NSString*)notificationID 

wywołanie tej metody z parametrami i skorzystać z tej

+ (void)addLocalNotification:(int)year:(int)month:(int)day:(int)hours:(int)minutes:(int)seconds:(NSString*)alertSoundName:(NSString*)alertBody:(NSString*)actionButtonTitle:(NSString*)notificationID { 
NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar]; 

//set the notification date/time 
NSDateComponents *dateComps = [[NSDateComponents alloc] init]; 
[dateComps setDay:day]; 

[dateComps setMonth:month]; 

[dateComps setYear:year]; 
[dateComps setHour:hours]; 

[dateComps setMinute:minutes]; 
[dateComps setSecond:seconds]; 

NSDate *notificationDate = [calendar dateFromComponents:dateComps]; 
[dateComps release]; 

UILocalNotification *localNotif = [[UILocalNotification alloc] init]; 
if (localNotif == nil) 
    return; 
localNotif.fireDate = notificationDate; 
localNotif.timeZone = [NSTimeZone defaultTimeZone]; 

// Set notification message 
localNotif.alertBody = alertBody; 
// Title for the action button 
localNotif.alertAction = actionButtonTitle; 

localNotif.soundName = (alertSoundName == nil) ? UILocalNotificationDefaultSoundName : alertSoundName; 

//use custom sound name or default one - look here to find out more: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html%23//apple_ref/doc/uid/TP40008194-CH103-SW13 

localNotif.applicationIconBadgeNumber += 1; //increases the icon badge number 

// Custom data - we're using them to identify the notification. comes in handy, in case we want to delete a specific one later 
NSDictionary *infoDict = [NSDictionary dictionaryWithObject:notificationID forKey:notificationID]; 
localNotif.userInfo = infoDict; 

// Schedule the notification 
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; 
[localNotif release]; 
} 
0

możesz spróbować tej

UILocalNotification *todolistLocalNotification=[[UILocalNotification alloc]init]; 
[todolistLocalNotification setFireDate:[lodatepicker date]]; 
[todolistLocalNotification setAlertAction:@"Note list"]; 
[todolistLocalNotification setTimeZone:[NSTimeZone defaultTimeZone]]; 
[todolistLocalNotification setAlertBody:text_todolist]; 
[todolistLocalNotification setHasAction:YES];