这是我想要做的:我有一个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。
任何人都可以知道出了什么问题吗?非常感谢!