2011-12-27 33 views
0

我遇到了問題,我正試圖在屏幕中顯示圖像 UIView * userView。準確地在iPad中的圖像

userView = [[UIView alloc] initWithFrame:CGRectMake(x, y, KVWDT, KVHGT)];//KVWDT=300 & KVHGT=400. 

和我的形象的看法是,只顯示在用戶視圖的上半部分,在底部我正在顯示其他一些領域也

NSString *imageName = [NSString stringWithFormat:[dic objectForKey:@"img"]]; 
UIImage *image = [UIImage imageNamed:imageName]; 
UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
CGRect imgFrame = imageView.frame; 

我應該如何在中間正好顯示圖像userView的。請幫我解決這個問題

回答

1

使用:

UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
imageView.contentMode = UIViewContentModeCenter 
imageView.center = userView.center; 
1

我想你應該使用類似

imageView.center = userView.center; 
0

給了的UIImageView幀相同的幀作爲視圖。然後將UIImageView contentMode屬性設置爲UIViewContentModeScaleAspectFit。

UIImageView *imageView = [UIImageView alloc] initWithFrame:CGRectMake(x, y, KVWDT, KVHGT)] autorelease]; 
imageView.image = image; 
imageView.contentMode = UIViewContentModeScaleAspectFit; 
[userView addSubview:imageView]; 
0

最後我想出瞭解決方案

CGSize boundsSize = userView.frame.size; 
    CGRect imgFrameToCenter = imageView.frame; 
    //center horizontally 
    if (imgFrameToCenter.size.width<boundsSize.width) { 
     imgFrameToCenter.origin.x = (boundsSize.width-imgFrameToCenter.size.width)/2; 

    } 
    else{ 
     imgFrameToCenter.origin.x=0; 
    }