2012-11-07 81 views
0

我必須添加一個ImageView作爲MapView的子視圖。我不能通過代碼來完成,因爲ImageView總是在mapView後面結束。我不能在IB中這樣做,因爲在文件的所有者中,UIImageView始終是對mapView的外部尊重(我嘗試了幾次)。我正在使用Xcode 4.5。我可以添加一個UIImageView作爲MapView的子視圖嗎?MapView的UIImageView子視圖

這是MapViewController.m

@synthesize iphoneLegenda; 
@synthesize mapView; 

- (void)viewDidLoad 
{ 
    //..... 
    self.iphoneLegenda.frame = CGRectMake(self.mapView.bounds.origin.x, 
          self.mapView.bounds.origin.y, 200, 100); 

    //...... 

    [self.mapView addSubview:self.iphoneLegenda]; 
    [self.iphoneLegenda bringSubviewToFront:self.mapView]; 
    //..... 
} 
+0

你爲什麼要一個MapView裏面一個UIImageView? 這段代碼錯了[self.iphoneLegenda bringSubviewToFront:self.mapView];它應該是[self.mapView bringSubviewToFront:self.iphoneLegenda]; – jcesarmobile

回答

3

我認爲AntonPalich和MashDup的答案是最好的方法。 要添加里面的MapView必須添加QuartzCore.framework子視圖,這是代碼:

- (void)viewDidLoad 
{ 
CALayer *layer = [CALayer layer]; 
layer.backgroundColor = [[UIColor whiteColor] CGColor]; 
layer.bounds = CGRectMake(mapView.frame.origin.x, mapView.frame.origin.y, 200, 100); 
[[mapView layer] addSublayer:layer]; 
} 
0

在MapViewController.h

@property (nonatomic, strong) UIImageView *iphoneLegenda; 
@property (nonatomic, strong)IBOutlet MKMapView *mapView; 

代碼如果你想在地圖視圖頂部的ImageView的,看到你正在使用的廈門國際銀行。 mapview已經在視圖中,只需像在mapview中那樣在xib中添加imageview並鏈接即可。使該alpha在xib中有0(稍後對動畫更好)。然後在你的代碼中,我假設你想要一個按鈕或者某種排序來打開它。 所以改行有iboutlet。

@property (nonatomic, strong) IBOutlet UIImageView *iphoneLegenda; 

然後一個動作褪色它:

[UIView animateWithDuration:0.5 animations:^{ 
     [iphoneLengenda setAlpha:1.]; 
    }]; 

不要有混亂有關設置幀等

0

這個怎麼樣方案:

UIView 
- MKMapView 
- UIImageView 

的MKMapView會與UIView和UIImageView相同的大小將始終位於頂部。

相關問題