• 简单理解MapView 以及 设置 MKAnnotationView


    MKMapView  相当于一个容器 。可以展示  MKAnnotationView..

    要使用它需要设置 数据源代理  

        _mapView.delegate = self;

     它的数据源对象就是 

    符合   MKAnnotation   协议的对象 

    包含

    @protocol MKAnnotation <NSObject>
    
    // Center latitude and longitude of the annotion view.
    // The implementation of this property must be KVO compliant.
    @property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
    
    @optional
    
    // Title and subtitle for use by selection UI.
    @property (nonatomic, readonly, copy) NSString *title;
    @property (nonatomic, readonly, copy) NSString *subtitle;
    
    // Called as a result of dragging an annotation view.
    - (void)setCoordinate:(CLLocationCoordinate2D)newCoordinate NS_AVAILABLE(10_9, 4_0);
    
    @end

    这里不得不关联下 最常用的tableView 控件 

    它也需要数据源   和 代理 

    需要把数据源  加载到 tableViewCell 上 显示

    对比mapView ,它的数据源是  (id<MKAnnotation>)annotation

    - (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id<MKAnnotation>)annotation {

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath...

    对比下  是不是很相识 。。

    同样的还有 uipickerView

    下面实现自定义  MKAnnotationView 跟自定义UITabelViewcell  差不多

    http://www.codigator.com/tutorials/advanced-mapkit-tutorial-for-ios-custom-callout/

    实现  不点击annotation 也能显示calloutview 

    添加 代理方法

    - (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views {
            
        for (MKAnnotationView *annoView in views) {
                    
            MKAnnotation *anno = annoView.annotation;
                    [mv selectAnnotation:anno animated:YES]; 
        }
    }
  • 相关阅读:
    Beef McNuggets USACO 4.1(数论公约数问题+背包阵亡)
    Raucous Rockers USACO 3.4 (dp背包?)
    Electric Fence USACO 3.4
    大雾....
    American Heritage USACO 3.4 (二叉树前序中序求后序)
    Closed Fences USACO 3.4(阵亡)
    cvte酱油一把
    算法导论之计算几何学小记 33.1
    A Game USACO 3.3 (DP阵亡)
    [bx]和loop指令
  • 原文地址:https://www.cnblogs.com/DamonTang/p/3684707.html
Copyright © 2020-2023  润新知