为了进行页面传值,也可以用委托的方法。
下面以时间控件为例。
1.首先,在.h 文件设置委托
#import <UIKit/UIKit.h> @protocol DatePickerViewDelegate; @class DatePickerView;
@interface DatePickerView :UIView @property (strong, nonatomic) NSString *dateContent;
@property (strong, nonatomic) UIDatePicker *datePicker;
@property (assign, nonatomic) id<DatePickerViewDelegate> delegate; -(void)show;
@end @protocol DatePickerViewDelegate <NSObject>
-(void)datePicker:(DatePickerView *)pickerView Picked:(NSDate *)date; //定义方法
@end
2.然后在.m文件设定委托传值
-(void)setBtnAction:(id)sender
{
[_delegate datePicker:self Picked:self.datePicker.date]; //一定要执行,要不然不会触发下面的,方法-(void)datePicker:(DatePickerView *)pickerView Picked:(NSDate *)date;
}
3.在其他页面设置委托
在.m文件中添加
@interfaceQuQueryViewController () <DatePickerViewDelegate>
@end
1.然后设置委托
DatePickerView *datePicker = [[DatePickerView alloc]init]; //先事实例化
datePicker.delegate = self; //设置委托
datePicker.flag = sender;
[datePicker show];
2.最后实现方法
-(void)datePicker:(DatePickerView *)pickerView Picked:(NSDate *)date;
{
date为我们要获得的值。
}