当我尝试更改mapView的框架时,它就会消失

时间:2016-04-29 00:19:12

标签: ios swift viewcontroller

这是我想要做的:我有一个tableView,在一个单元格中有一个mapView。当我点击地图时,地图将全屏变大。当我回击时,它将恢复原点大小。

以下是放大地图的代码,现在工作正常:

func enlargeMap(){

    self.tableView.userInteractionEnabled = false
    DataStruct.ViewingMap = true
    frame = mapView.bounds

    openMapButton.setBackgroundImage(UIImage(named:"External Filled"), forState: UIControlState.Normal)
    openMapButton.addTarget(self, action: #selector(DetailTableViewController.openInAppleMap), forControlEvents: .TouchUpInside)

    UIView.animateWithDuration(0.5, animations: { () -> Void in
        self.mapView.frame = CGRectMake(self.tableView.frame.minX, self.tableView.frame.minY + self.tableView.contentOffset.y , self.tableView.frame.width, self.tableView.frame.height)
        self.view.addSubview(self.mapView)

    }) { (Bool) -> Void in
        self.tableView.userInteractionEnabled = true
        self.view.addSubview(self.openMapButton)
        self.openMapButton.frame = CGRectMake(self.mapView.frame.minX + 20, self.mapView.frame.maxY - 60, 38, 38)
        self.beforeViewController.navigationItem.title = self.RestaurantName.text!
    }
}

以下是关闭(缩小)地图的代码:

func getBackToOriginalSize(){

    DataStruct.ViewingMap = false

    openMapButton.removeFromSuperview()
    UIView.animateWithDuration(0.5, animations: { () -> Void in

        self.mapView.frame = CGRectMake(0, self.tableView.contentSize.height - 249, self.tableView.frame.width, 160)

        }){(Bool) -> Void in
            self.getBacktoLocation(self.initialLocation)
            self.beforeViewController.navigationItem.title = "DinersCode"
}

}

我发现我可以将地图移动到我想要的任何地方,但我无法改变它的大小。否则它会消失。

这是一个显示问题的GIF。

任何人都可以知道出了什么问题吗?非常感谢!

problem gif

0 个答案:

没有答案