J'ajoute par programmation deux UIPickerViews personnalisées à une autre vue (MainView). Ils fonctionnent très bien mais ils ne sont pas visibles jusqu'à ce qu'un événement tactile se produise dans n'importe quelle partie de la vue principale. J'ai vérifié les références de classe pour UIPickerView et UIView mais n'ai rien trouvé qui réussit à "actualiser" la vue, à moins que je manque quelque chose d'évident?UIPickerView n'apparaît pas jusqu'à ce que le contact se produise
Voici ma méthode drawRect dans MainView.m. J'ai essayé de faire la même chose dans viewDidLoad mais sans succès. Est-ce que les rotations/transformations personnalisées ont quelque chose à voir avec ça?
- (void)drawRect:(CGRect)rect {
CGRect pickerFrame = CGRectMake(50, -32, 30, 180);
m_picker1 = [[UIPickerView alloc] initWithFrame:pickerFrame];
m_picker1.delegate = self;
m_picker1.tag = k_ptag1;
m_picker1.showsSelectionIndicator =YES;
m_picker1.backgroundColor = [UIColor clearColor];
CGAffineTransform rotate = CGAffineTransformMakeRotation(3.14/2);
rotate = CGAffineTransformScale(rotate, 0.075, 0.85);
[m_picker1 setTransform:rotate];
[self addSubview:m_picker1];
pickerFrame = CGRectMake(50, 67, 30, 180);
m_picker2 = [[UIPickerView alloc] initWithFrame:pickerFrame];
m_picker2.delegate = self;
m_picker2.tag = k_ptag2;
m_picker2.showsSelectionIndicator =YES;
m_picker2.backgroundColor = [UIColor clearColor];
rotate = CGAffineTransformMakeRotation(3.14/2);
rotate = CGAffineTransformScale(rotate, 0.075, 0.85);
[m_picker2 setTransform:rotate];
[self addSubview:m_picker2];
}
Merci, j'ai transféré tous les éléments appropriés dans un UIViewController et les sélecteurs apparaissent maintenant correctement. – moigno