0

プロジェクトの 1 つで UIPicker を使用しています。

私はサイズと位置のUIPickerViewを持っています

 58, 264, 204, 216
  x   y  width height

iOS7対応アプリをやっています。

iOS 7では幅204のみ表示したいのですが、iOS 6以前では幅300で表示したいです。

これについては、以下が私がしたことです。

-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{

    if (IS_DEVICE_RUNNING_IOS_7_AND_ABOVE()) {
    NSLog(@"changing font...");
        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 204, 44)]; // your frame, so picker gets "colored"

        label.textColor = [UIColor blackColor];
        label.font = [UIFont fontWithName:localize(@"myFontName") size:14];
        label.textAlignment = NSTextAlignmentCenter;

        label.text = [arrayGender objectAtIndex:row];

        return label;
    } else {
        [pickerView setFrame: CGRectMake(10, 264, 300, 216)];
        pickerView.backgroundColor = [UIColor clearColor];
        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(40, 0, 260, 44)];

        label.textColor = [UIColor blackColor];
        label.font = [UIFont fontWithName:@"HelveticaNeue-Bold" size:14];

        label.text = [NSString stringWithFormat:@"%@", [arrayGender objectAtIndex:row]];
        return label;
    }
}

これは完全に機能しています。

問題はそこにある蛍光ペンにあります。蛍光ペンのサイズは 204 に固定されています (これは、UIPicker の IB で設定されたサイズ幅です)。

この蛍光ペンに取り組む方法はありますか?

蛍光ペンによって、以下は私が意味したサンプルです。

ここに画像の説明を入力

以下は、私が話している実際の画像です。

ここに画像の説明を入力

4

2 に答える 2

0

私はものを逆にすることでそれを解決しました。

IB で幅 320 の UIPicker ビューを作成し、コードで幅を調整しました。

于 2013-10-26T12:49:35.770 に答える