2012-06-18 59 views
0

我在将ViewController集成到另一个ViewController中时出现了一个奇怪的问题。 我会解释我的问题,将childViewController添加到ParentViewController中的问题

我有谁包含ParentViewController(一Buttons威乐/ Autour德莫伊点菜/清单当然 ...),并进入该ParentViewController我用两个ChildViewControllers之间切换: ListViewControllerMapViewController(谁包含地图的一个),我已经指定的帧为ChildViewControllers采取(0, 104, 320, 282)

if(mapViewController ==nil) { 
      mapViewController = [[MapViewController alloc] init]; 
      mapViewController.networkViewController = self; 
     } 

     mapViewController.view.frame = CGRectMake(0, 104, 320, 282); 
     [self.view addSubview:mapViewController.view]; 

一切工作就像一个魅力,但问题我拥有的是当我拖动地图时,我的标记和我的注释变成ParentViewController以上,他们隐藏了buttons

图像将解释我的问题:

拖动前:

after the drag on the map , my markers and annontations hides the view on the ParentViewController

NB:我ParentController没有按

Before Dragging on the map

在地图上拖动后没有透明背景,t他也映射,和我使用Mappy SDK IOS

的代码添加注释:MPPoiDataSourceMappyCustom.m

#import "MPPoiDataSourceMappyCustom.h" 

@implementation MPPoiDataSourceMappyCustom 

-(UIView *) labelAtIndex:(NSIndexPath *)indexPath withScreeLocation:(CGPoint)screenLocation withViewBounds:(CGRect)_bounds update:(BOOL)aUpdate { 

    // the label is allways up to date, we will not refresh it 
    if (aUpdate) 
     return nil; 

    if ([elementList count] > indexPath.row) 
    { 
     MPPoi * mpoi = [elementList objectAtIndex:indexPath.row]; 
     MPGlobalStyle* style = [MPGlobalStyle sharedStyle]; 
     style.textColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]; 
     //style.borderColor = [UIColor whiteColor]; 
     style.textFont = [UIFont fontWithName:@"Helvetica-Bold" size:12.0]; 
     style.borderColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0]; 
     //style.borderColor = [UIColor colorWithRed:0.32 green:0.87 blue:0.05 alpha:1.0]; 
     style.backgroundColor = [UIColor colorWithRed:0.627 green:0.066 blue:0.196 alpha:1.0]; 
     MPCalloutView* mpCallOutView = [MPCalloutView calloutWithText:mpoi.uId withScreeLocation:screenLocation withViewBoundsWidth:_bounds.size.width]; 

//  MPCalloutViewStyle* style = [MPCalloutViewStyle blackAndWhiteStyle]; 
     mpCallOutView.popinstyle = style; 


     return mpCallOutView; 
    } 
    return nil; 
} 

@end 

,这是我用来显示标记的方法:

-(void) addMarkersOnMap { 
    MPMarkerManager * markerManager = [self.mapView markerManager]; 
    MPMarkerCategory * category = [markerManager getCategory:STORE_LOC_CATEGORY]; 

    //change the image of markers of this category 
    category.markerImage = [UIImage imageNamed:@"green-marker.png"]; 

    //category settings 
    [category setOptimalZoom:YES];//set the zoom to be optimal : show all poi in the category 
    [category setHideLabelOnTheFirstShow:YES]; 
    [category setAnimateAtFirstShow:YES]; 

    //remove old elements 
    [category.dataSource removeAllElements]; 

    //create new mappy data source for our cotegory (stores) 
    MPPoiDataSourceMappyCustom* datasource = [[MPPoiDataSourceMappyCustom alloc] init ]; 

    //add markers on map 
    for(int i=0; i<self.arrayStores.count; i++) { 

     NSDictionary* currentStore = [self.arrayStores objectAtIndex:i]; 
     float latitude = [[currentStore objectForKey:@"latitude"] floatValue]; 
     float longitude = [[currentStore objectForKey:@"longitude"] floatValue]; 
     CLLocationCoordinate2D locationStore = CLLocationCoordinate2DMake(latitude, longitude); 

     //add the marker on the map for the current store 
     //create a new POI object with location 
     NSString* str = [NSString stringWithFormat:@"%@ \n %@ %d", [currentStore objectForKey:@"title"],[currentStore objectForKey:@"address"], [currentStore objectForKey:@"CP"] ]; 
     MPPoi * poi = [[MPPoi alloc] initWithUId:str withLocation:locationStore]; 
     [datasource addElement:poi]; 
     [poi release]; 
     NSLog(@"add store %d on the map , coordonnées :(%f , %f)", i,latitude,longitude); 
    } 

    [category setDataSource:datasource]; 
    [datasource release]; 

    //send all subviews to the back 
    for(UIView* view in [self.view subviews]) { 
     [self.view sendSubviewToBack:view]; 
    } 

} 

任何想法的朋友关于这个奇怪的问题的来源?这是来自Mappy SDK吗?我试图在MapViewController的子视图上拼凑起来,并将它们发送给Back,但它对我不起作用。 由于事先

+0

任何帮助?? ...? – Houcine

回答

0

我试图将其他意见前固定它:

[self.view bringSubviewToFront:self.headerView]; 
相关问题