新建UIDatePicker: //大小固定为320*216 datePicker1 = [[UIDatePicker alloc] initWithFrame: CGRectMake( 0, 100, 280, 200)]; datePicker1.timeZone = [NSTimeZone defaultTimeZone]; datePicker1.datePickerMode = UIDatePickerModeDate; [datePicker1 addTarget: self action: @selector(changes) forControlEvents: UIControlEventValueChanged]; [self addSubview: datePicker1]; [datePicker1 release]; 新建UISegmentControl NSArray *array = [NSArray arrayWithObjects: @"1", @"2", @"3",@"4", nil]; UISegmentedControl *segmentControl = [[UISegmentedControl alloc] initWithItems: array]; segmentControl.frame = CGRectMake( 0, 20, 320, 35 ); segmentControl.segmentedControlStyle = UISegmentedControlStyleBar; segmentControl.momentary = YES;//瞬间 [segmentControl addTarget: self action:@selector(changed:) forControlEvents: UIControlEventValueChanged];
label换行:
label.lineBreakMode = UILineBreakModeCharacterWrap;
label.numberOfLines = 0;
修改picker,显示到label: - (void)changeDateInLabel:(id)sender{ //Use NSDateFormatter to write out the date in a friendly format NSDateFormatter *df = [[NSDateFormatter alloc] init]; df.dateStyle = NSDateFormatterMediumStyle; label.text = [NSString stringWithFormat:@"%@", [df stringFromDate:datePicker.date]]; [df release]; } // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; label = [[UILabel alloc] init]; label.frame = CGRectMake( 10,10,200,30); label.textAlignment = UITextAlignmentCenter; NSDateFormatter *df = [[NSDateFormatter alloc] init]; df.dateStyle = NSDateFormatterMediumStyle; label.text = [NSString stringWithFormat: @"%@", [df stringFromDate: [NSDate date]]]; [df release]; [self.view addSubview: label]; [label release]; datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 250, 0, 0)]; datePicker.datePickerMode = UIDatePickerModeDate; datePicker.date = [NSDate date]; [datePicker addTarget:self action:@selector(changeDateInLabel:) forControlEvents:UIControlEventValueChanged]; [self.view addSubview:datePicker]; [datePicker release]; }