0

これが私の水平UIPickerViewです(ori UIpickerを回転およびスケーリングすることにより):htp://s7.postimage.org/qzez9d0pn/Original.png

そして今、私がやりたいことは、これらの 2 つのスペースを切り取ることです: http://s7.postimage.org/bryzp08uz/Process.png

この見栄えの良い結果を得るには: http://s7.postimage.org/6ulf3w6vv/Result.png

誰かやり方教えてください…?

私の回転とスケールのコード:

thePickerView.delegate = self;
thePickerView.showsSelectionIndicator =YES;
thePickerView.center = CGPointMake(xVar, yVar); // position
CGAffineTransform rotate = CGAffineTransformMakeRotation(-3.14/2); // rotate
rotate = CGAffineTransformScale(rotate, 0.1, 1); // scale
[thePickerView setTransform:rotate];

UILabel *theview[num]; 
CGAffineTransform rotateItem = CGAffineTransformMakeRotation(3.14/2);

for (int i=0;i<num;i++) {  
    theview[i] = [[UILabel alloc] init];
    theview[i].text = [NSString stringWithFormat:@"%d",i+1];
    theview[i].textColor = [UIColor blackColor];
    theview[i].frame = CGRectMake(0,0, 100, 100);
    theview[i].backgroundColor = [UIColor clearColor];
    theview[i].textAlignment = UITextAlignmentCenter;
    theview[i].shadowColor = [UIColor whiteColor];
    theview[i].shadowOffset = CGSizeMake(-1,-1);
    theview[i].adjustsFontSizeToFitWidth = YES;

    theview[i].transform = CGAffineTransformScale(rotateItem, 1, 10);
}
itemArray = [[NSMutableArray alloc] init];
for (int j=0;j<num;j++) {[itemArray addObject:theview[j]];}
[thePickerView selectRow:row inComponent:0 animated:NO];
[self.view addSubview:thePickerView];
4

1 に答える 1

0

より良いコーディングの答えを検索して待っている間の私の一時的な解決策は、オーバーレイの背景画像を作成し、次に PickerView =.= の欲望の空間を透明にすることです

于 2012-06-29T14:25:02.953 に答える