[英]UITableView inside UIPickerView in iOS
I am struck at a problem where I need to implement a multiple type selection picker so for this purpose i am doing this : 我很困惑,我需要实现一个多类型选择选择器,所以为此我正在这样做:
caratFromPicker = [[UIPickerView alloc] init];
caratTable = [[UITableView alloc]initWithFrame:caratFromPicker.frame style:UITableViewStylePlain];
caratTable.delegate = self;
caratTable.dataSource = self;
caratTable.bounces = YES;
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(done)];
UIToolbar *toolBar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, self.view.frame.size.height-caratFromPicker.frame.size.height-50, self.view.frame.size.width, 50)];
[toolBar setBarStyle:UIBarStyleBlackOpaque];
NSArray *toolbarItems = [NSArray arrayWithObjects:doneButton, nil];
[toolBar setItems:toolbarItems];
price1.inputView = caratFromPicker;
price1.inputAccessoryView = toolBar;
[caratFromPicker setDataSource: self];
[caratFromPicker setDelegate: self];
caratFromPicker.showsSelectionIndicator = YES;//loadFromPicker
[caratFromPicker addSubview:caratTable];
and implemented the UITableView delegates as : 并将UITableView委托实现为:
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [caratFromArray count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
//UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
cell.textLabel.text = [caratFromArray objectAtIndex:indexPath.row];
return cell;
}
here is the screenshot of the same : 这是相同的截图:
but my problem is I am not able to scroll the tableview to view next values. 但我的问题是我无法滚动tableview来查看下一个值。
You can try using UIPicker delegate method : 您可以尝试使用UIPicker委托方法:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)theView{
return YourTableView;
}
To set tableView as the view for the row. 将tableView设置为行的视图。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.