使用故事板将控件放在mapview iOS 7上

时间:2014-02-04 00:53:31

标签: ios uibutton mkmapview uistoryboard

我正在尝试在mapview上放置一个按钮。在故事板中,我将它作为视图层次结构中的最后一个控件,地图视图仍然可以覆盖它。我已经尝试在我的viewDidLoad方法中添加这一行,将我的按钮视图放到前面,但它似乎无法正常工作

[self.view bringSubviewToFront:self.flagButton];

任何人都知道为什么这不起作用?地图视图覆盖了大部分屏幕,我想在地图上放置几个按钮,但到目前为止还无法显示它们,每次都在它下面。

5 个答案:

答案 0 :(得分:4)

我可以通过将我的视图作为地图视图的子视图来完成此操作。

第一,

self.view = self.gmsMapView;

然后,

[self.gmsMapView addSubview:_myBtnView];

答案 1 :(得分:3)

我知道这是一个老帖子,但我是为了面对同样问题的人而回答。

我遇到了同样的问题,然后我找到了解决方案,如下:

首先,打开你的项目并转到你的StoryBoard,然后点击左下方非常小的开关上的“显示文档大纲”开关。之后选择您遇到问题的“场景”,然后单击“查看”。找到您的MKMapView对象并向上拖动,直到到达第一行。这将使你的MKMapView对象(或任何其他对象)成为“图层中的第一个”。

我希望有人会觉得这很有帮助。 E

答案 2 :(得分:1)

我使用的是故事板而没有看到按钮。我必须将MKMapView设置为隐藏,直到按钮显示并处于适当位置。然后我将MKMapView设置为可见。

以下是我必须在界面构建器中执行以使我的按钮显示

的步骤
  1. 创建一个包含视图的UIViewController
  2. 添加MKMapView并设置约束
  3. shows an MKMapView in a view controller in IB

    1. 在与MKMapView相同的视图中添加UIButton,设置图像和文本,无论适用什么。如果尝试调整大小或移动按钮时MKMapView消失,则地图视图刚刚将其宽度和高度设置为零。在大小检查器中为地图视图输入新值,它将调整大小。或者您可以将按钮移动到MKMapView的其他位置,然后将按钮移回到您想要的位置。

    2. 重要的是为UIButton设置约束。我还必须隐藏MKMapView,直到我得到正确的大小和位置,然后将其设置为可见。

    3. shows a UIButton with its constraints in IB

      以下是它在模拟器中的外观

      a running app showing the map with a button on top

答案 3 :(得分:0)

您无法通过故事板向MKMapView添加子视图。将其添加为兄弟视图。

编辑:您的地图视图也应该是根视图的子视图(即self.view),以便工作。

答案 4 :(得分:0)

我遇到了类似的问题,我做了以下事情:

  • 确保地图视图和按钮在视图层次结构中处于同一级别,我通过创建一个地图视图和按钮都是子视图的视图来完成此操作。
  • 确保按钮被拖动到故事板左侧阴沟中的地图视图下方(因此它实际上呈现在顶部)。
  • 确保按钮有有效限制。

唯一尚未提及的新内容是仔细检查约束,这似乎为我解决了。希望有所帮助。