Hallo,
ich möchte in einer IOS 7 App eine PickerView in einer TableViewCell darstellen. Allerdings klappt das nicht, die Zelle wo der Picker sein sollte ist leer.
Ich habe mir eine Klasse erstellt, welche eine Subclass von UITableViewCell ist erstellt, wo ich mir meine Zelle "nach meinen Wünschen zusammenstelle".
Hier der Code dieser Klasse (.m Datei + header):
Alles anzeigen
Hier der Code, mit welchem die Zelle zur "Dynamischen" TableView hinzugefügt wird:
Alles anzeigen
ich möchte in einer IOS 7 App eine PickerView in einer TableViewCell darstellen. Allerdings klappt das nicht, die Zelle wo der Picker sein sollte ist leer.
Ich habe mir eine Klasse erstellt, welche eine Subclass von UITableViewCell ist erstellt, wo ich mir meine Zelle "nach meinen Wünschen zusammenstelle".
Hier der Code dieser Klasse (.m Datei + header):
Quellcode
- #import <UIKit/UIKit.h>
- // Header
- @interface SettingCellForBrush : UITableViewCell <UIPickerViewDelegate, UIPickerViewDataSource>
- {
- NSArray *colorItems;
- }
- @end
- //Implementation
- #import "SettingCellForBrush.h"
- @implementation SettingCellForBrush
- - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
- {
- self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
- if (self) {
- // Initialization code
- colorItems = [[NSArray alloc]initWithObjects:@"schwarz", @"rot", @"grün", @"blau",@"gelb", @"oragne", @"braun", nil];
- }
- return self;
- }
- - (void)awakeFromNib
- {
- // Initialization code
- }
- - (void)setSelected:(BOOL)selected animated:(BOOL)animated
- {
- [super setSelected:selected animated:animated];
- // Configure the view for the selected state
- }
- - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
- {
- return 2;
- }
- // returns the # of rows in each component..
- - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
- {
- if (component == 0)
- {
- return colorItems.count;
- }
- if (component == 1)
- {
- return 10;
- }
- return 0;
- }
- - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
- {
- if (component == 0)
- {
- return [colorItems objectAtIndex:row];
- }
- if (component == 1)
- {
- NSString *temp = @(row).stringValue;
- return temp;
- }
- return 0;
- }
- @end
Hier der Code, mit welchem die Zelle zur "Dynamischen" TableView hinzugefügt wird:
Quellcode
-
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
- {
- // Cellidentifier für die verschiedenen Zellen der Tableview
- static NSString *cellIdentifier1 = @"brushSettings";
- static NSString *cellIdentifier2 = @"saveCell";
- static NSString *cellIdentifier3 = @"saveButtonCell";
- static NSString *cellIdentifier4 = @"gridCell";
- // Zellen für die Einzelnen einstellungen
- SettingCellForBrush *brushSettingsCell;
- SettingCellWithSwitch *gridStatCell;
- SettingCellWithTextField *saveDrawingCell;
- SettingCellWithButton *saveDrawingButtonCell;
- //DrawSettingsLoader *load = [[DrawSettingsLoader alloc]init];
- // festlegen der Linienstärke
- if (indexPath.row == 0 && indexPath.section == 0)
- {
- brushSettingsCell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier1 forIndexPath:indexPath];
- return brushSettingsCell;
- }
- // usw...