为了进行页面传值,也可以用委托的方法。
下面以时间控件为例。
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为我们要获得的值。 }