iOS之自訂pickerview(行駛裡程數),iospickerview
#pragma mark -- 裡程數按鈕的點擊事件
- (void)mileageBtnClicked:(UIButton *)sender {
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"裡程數/km\n\n\n\n\n\n\n\n" message:nil preferredStyle:UIAlertControllerStyleAlert];
UIPickerView *mileage = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 40, 270, 150)];
//指定Delegate
mileage.delegate = self;
//顯示選中框
mileage.showsSelectionIndicator = YES;
[alert.view addSubview:mileage];
UIAlertAction *ok = [UIAlertAction actionWithTitle:@"確定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
NSInteger row = [mileage selectedRowInComponent:0];
NSString *mileageNum = [pickerData objectAtIndex:row];
mileageLabel.text = [NSString stringWithFormat:@"%@km", mileageNum];
}];
UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
}];
[alert addAction:ok];
[alert addAction:cancel];
[self presentViewController:alert animated:YES completion:^{ }];
pickerData = [[NSArray alloc] initWithObjects:@"3000",@"3500",@"8000",@"8500",@"13000",@"13500",@"18000",@"18500",@"23000",@"23500",@"28500",@"33000",@"33500",@"38000",@"38500",@"43000",@"43500",@"48000",@"48500",@"53000",@"53500",@"58000",@"58500", nil];
}
#pragma mark -- UIPickerViewDataSource
//返回顯示的列數
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
//返回顯示的行數
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return pickerData.count;
}
#pragma mark -- UIPickerViewDelegate
//返回當前行的內容
- (nullable NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component __TVOS_PROHIBITED {
return [pickerData objectAtIndex:row];
}