#iphone #objective-c #event-handling #datepicker #alarm
#iPhone #objective-c #обработка событий #datepicker #тревога
Вопрос:
я хотел создать настраиваемый будильник. Итак, я взял Datepicker. Теперь я хотел воспроизвести звук, когда происходит выбранное время через Datepicker.
Итак, может кто-нибудь, пожалуйста, скажите мне, какие классы или API использовать или какое-либо направление сделать? Как я должен сопоставить выбранное мной время с системным временем для создания события. я знаю, как воспроизводить звук. Остальные вещи — большой вопросительный знак для меня. Любая помощь будет заметна.
до сих пор я написал этот код, который просто показывает выбор даты, и при нажатии кнопки он показывает выбранное время. : P
Код:-
**.h File**
#import <UIKit/UIKit.h>
@interface The420DudeViewController : UIViewController {
IBOutlet UINavigationBar *titleBar;
IBOutlet UIButton *setAlarmButton;
IBOutlet UIDatePicker *selectTimePicker;
}
@property(nonatomic, retain) IBOutlet UINavigationBar *titleBar;
@property(nonatomic, retain) IBOutlet UIButton *setAlarmButton;
@property(nonatomic, retain) IBOutlet UIDatePicker *selectTimePicker;
-(IBAction)onTapSetAlarm;
@end
**.m file **
@implementation The420DudeViewController
@synthesize titleBar,setAlarmButton,selectTimePicker;
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
}
-(IBAction)onTapSetAlarm
{
NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setDateFormat:@"HH:mm a"];
NSDate *selectedDate = [[NSDate alloc] init];
selectedDate = [selectTimePicker date];
NSString *theTime = [timeFormat stringFromDate:selectedDate];
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Time selected" message:theTime delegate:nil cancelButtonTitle:@"YES" otherButtonTitles:nil];
[alert show];
[alert release];
// [timeFormat release];
// [selectedDate release];
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[super dealloc];
[titleBar release];
[setAlarmButton release];
[selectTimePicker release];
}
@end
Ответ №1:
Вы должны заглянуть в UILocalNotification
класс — это позволит вашему будильнику сработать, даже когда приложение закрыто / работает в фоновом режиме: https://developer.apple.com/library/ios/documentation/iPhone/Reference/UILocalNotification_Class/UILocalNotification_Class.pdf
Просто установите fireDate
значение LocalNotification равным [selectTimePicker date]
, а затем запланируйте его.
Комментарии:
1. Спасибо за ваш ответ… я проверю это сейчас и попробую… и надеюсь, что если это сделает мой день … я буду достаточно счастлив, чтобы принять ответ. 🙂
2. Если у кого-нибудь есть какой-либо учебник по подобным вещам, пожалуйста, дайте мне ссылку… Чао