3
我正在使用Ed Marty的回答中的代碼here,但我在幾位中遇到了麻煩。如何實現模式日期選擇器?
點擊一個按鈕我已經有日期選擇器出現,但'完成'按鈕不是。
[delegate datePickerController:controller didPickDate:datePicker.date];
錯誤消息:
「控制器」未聲明(第一次在這個函數中使用)
總之,我有6個文件,我還從線得到一個錯誤:
- ModalDatePickerViewController.m
- ModalDatePickerViewController.h
- ModalDatePickerAppDelegate.m
- ModalDatePickerAppDelegate.h
- DatePickerController.m
- DatePickerController.h
我DatePickerController.h正在尋找這樣的:
#import <UIKit/UIKit.h>
@class DatePickerController;
@protocol DatePickerControllerDelegate
- (void) datePickerController:(DatePickerController *)controller didPickDate:(NSDate *)date;
@end
@interface DatePickerController : UIViewController {
UIDatePicker *datePicker;
NSObject <DatePickerControllerDelegate> *delegate;
}
@property (nonatomic, retain) UIDatePicker *datePicker;
@property (nonatomic, assign) NSObject <DatePickerControllerDelegate> *delegate;
@end
和DatePickerController.m:
#import "DatePickerController.h"
@implementation DatePickerController
@synthesize datePicker;
@synthesize delegate;
- (void) loadView {
self.view = [[[UIView alloc] init] autorelease];
self.datePicker = [[[UIDatePicker alloc] init] autorelease];
[self.view addSubview:self.datePicker];
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"Done" forState:UIControlStateNormal];
button.center = CGPointMake(160,230);
[button addTarget:self action:@selector(done) forControlEvents:(UIControlEventTouchUpInside)];
[self.view addSubview:button];
}
- (void) done {
[delegate datePickerController:controller didPickDate:datePicker.date];
}
- (void) dealloc {
[datePicker release];
[super dealloc];
}
@end
在主視圖我有一個按鈕,調用這個類如下:
#import "ModalDatePickerViewController.h"
@implementation ModalDatePickerViewController
- (void) pickDate {
DatePickerController *screen = [[[DatePickerController alloc] init] autorelease];
screen.delegate = self;
[self presentModalViewController:screen animated:YES];
}
- (void) datePickerController:(DatePickerController *)controller didPickDate:(NSDate *)date {
//[self doSomethingWithDate:date];
[controller dismissModalViewControllerAnimated:YES];
}
- (IBAction)HitMe:(id)sender {
[self pickDate];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)viewDidUnload {
}
- (void)dealloc {
[super dealloc];
}
@end
和:
#import <UIKit/UIKit.h>
#import "DatePickerController.h"
@interface ModalDatePickerViewController : UIViewController <DatePickerControllerDelegate> {
}
- (IBAction)HitMe:(id)sender;
@end
什麼是錯誤...? – RickiG 2010-09-29 12:34:16
對不起RickiG這可能有幫助!我現在已經添加到帖子...哦,並且溫柔一點新手... – jimbo 2010-09-29 12:51:29