2015-10-07 10 views
5

ich bei einem Problem geschlagen bin, wo ich brauche einen mehr Typauswahl-Picker so für diesen Zweck zu implementieren ich dies tue:UITableView innerhalb UIPickerView in iOS

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]; 

und implementiert, um die UITableView Delegierten:

-(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; 
} 

hier ist der Screenshot des gleiche: enter image description here

aber mein Problem ist, ich nicht in der Lage bin, die Tableview blättern Sehen Sie sich die nächsten Werte an.

+2

vor der Antwort auf die Frage, was Sie bekommen, ist eine Bearbeitung von jemandem :) :) :) –

+0

hahahhahaha ..... Awesome Agent Keile .... !!! das ist wahr – user2998990

+0

Warum setzen Sie eine Tabellenansicht in eine Auswahlansicht? Dies scheint sehr ungewöhnlich. Können Sie einige Screenshots von dem, was Sie erreichen möchten, bereitstellen? –

Antwort

0

können Sie versuchen, UIPicker Delegatmethode mit:

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)theView{ 
    return YourTableView; 
} 

Um Tableview wie der Blick für die Zeile gesetzt.

Verwandte Themen