【问题标题】:MKMapView not updating when i call setCoordinate当我调用 setCoordinate 时,MKMapView 没有更新
【发布时间】:2011-06-04 00:34:09
【问题描述】:

这是我今天的第二个问题,第一个问题非常愚蠢,所以我完全期待这个问题也是如此。

我有一个带有嵌入式 MKMapView 的视图。

我想知道如何才能获得这个 MKMapView?我可以在 xib 文件中以某种方式连接它吗?或者失败了......我可以直接从父视图控制器中提取它吗?

我想做一些事情,比如使用 setCoordinates,但我不知道如何获取 MKMapView 实例来调用函数。

我如何获得 MKMapView 对象。

【问题讨论】:

    标签: iphone objective-c mkmapview xib nib


    【解决方案1】:

    在你想去的地方,设置一个插座。在 .h 文件中,声明一个 mapview 属性

    MKMapView *mapView;

    然后用IBOutlet声明它的属性

    @property (nonatomic, retain) IBOutlet MKMapView *mapView;

    您应该能够从 IB 文件中的 File's Owner 控制拖动到视图中的 mapview 以建立连接。在出现的弹出窗口中选择“mapView”,您的文件将连接到 mapview 对象。然后,您可以使用 .m 文件中的属性mapView 在地图视图上进行设置。

    [self.mapView setCoordinates:myCoordinates];

    确保您也正确导入框架。

    【讨论】:

    • 抱歉回复缓慢。我有一段时间没有机会回到 iPhone 上。你是完全正确的。我不知道你可以从文件的所有者那里得到对象。我正在尝试相反的方式!干杯!
    • 很高兴它成功了。实际上,您也可以以其他方式拖动它(从对象到文件所有者)以执行操作。一个示例是 UIButton 操作。
    【解决方案2】:

    听起来您正在使用 Interface Builder 来显示此 MKMapView。为了能够获取屏幕上的 MKMapView 实例,请按照以下步骤操作。

    1) 打开包含 MKMapView 的视图的视图控制器的 .h 文件。

    2) 在实例变量部分,添加一行

    IBOutlet MKMapView *mapView;
    

    3) 返回界面生成器,然后单击您添加到 XIB 的地图视图

    4) 按下 Control 并按住它并在地图视图上单击并拖动。这应该会使一条蓝线从地图视图上的位置跟随您的鼠标。

    5) 将蓝线拖到 XIB 中的对象列表上。对于普通的视图控制器 xib,此列表应该类似于 File's Owner。第一响应者和视图。取消单击“文件所有者”对象。

    6) 这应该会显示一个连接列表。点击显示“mapView”的那个

    7) 利润!现在在视图控制器内部,您可以使用 mapView 实例变量访问地图视图的实例。

    【讨论】:

      【解决方案3】:

      确保您为 MKMapView 设置了委托方法,并且这些方法应该在您的委托类上触发。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-31
        相关资源
        最近更新 更多