2 つのピッカーを含むビューが...viewForRow...
あり、ピッカー内に表示されるテキストのフォントを変更するために使用しています。ただし、ピッカーの 1 つが空に見えますが、ピッカーをスクロールすると、指定された textFields に値が表示されます。もう一方のピッカーは問題なく表示されます。ピッカーの 1 つが空に見えるのはなぜですか?
空に見えるピッカーには 2 つのコンポーネントがあることに注意してください。これはクレジット カードの有効期限ピッカーなので、月と年にそれぞれ 1 つのコンポーネントがあります。
...viewForRow...
メソッドのコードは次のとおりです。
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{
UILabel *pickerLabel = (UILabel *)view;
if (pickerLabel == nil)
{
//label size
CGRect frame = CGRectMake(0.0, 0.0, 280, 30);
pickerLabel = [[UILabel alloc] initWithFrame:frame];
[pickerLabel setTextAlignment:UITextAlignmentLeft];
[pickerLabel setBackgroundColor:[UIColor clearColor]];
[pickerLabel setFont:[UIFont fontWithName:@"Helvetica" size:11.0]];
}
if ([pickerView isEqual:pickerExpiration])
{
if (component == 0)
{
[pickerLabel setText:[NSString stringWithFormat:@"%@", [monthsList objectAtIndex:row]]];
}
[pickerLabel setText:[NSString stringWithFormat:@"%@", [yearsList objectAtIndex:row]]];
return pickerLabel;
}
billingAddress = [addresses objectAtIndex:row];
[pickerLabel setText:[NSString stringWithFormat:@"%@ %@", billingAddress.addressName, billingAddress.fullAddressText]];
return pickerLabel;
}
どんなヒントでも大歓迎です。