Ios 如何在UIView中放置MKMapView,或在具有自定义大小的框架中初始化它。红宝石

Ios 如何在UIView中放置MKMapView,或在具有自定义大小的框架中初始化它。红宝石,ios,mapkit,rubymotion,Ios,Mapkit,Rubymotion,我正在尝试使用MKMapView创建一个地图,但我只希望它占据UI屏幕的一半 我希望地图在屏幕的一半处可见,并且将long/lat标记保留在可见地图的中心 我尝试了使用CGRectMake和CGRect.new创建地图,还创建了一个特定的UIView并使用addSubView分配它,但没有成功 这就是我正在处理的问题: def viewDidLoad self.view = MKMapView.alloc.init region = MKCoordinateRegionMake

我正在尝试使用
MKMapView
创建一个地图,但我只希望它占据UI屏幕的一半

我希望地图在屏幕的一半处可见,并且将
long/lat
标记保留在可见地图的中心

我尝试了使用
CGRectMake
CGRect.new
创建地图,还创建了一个特定的
UIView
并使用
addSubView
分配它,但没有成功

这就是我正在处理的问题:

def viewDidLoad
    self.view = MKMapView.alloc.init

    region = MKCoordinateRegionMake(CLLocationCoordinate2D.new(@lat, @long), MKCoordinateSpanMake(0.0075, 0.0075))

    self.view.setRegion(region, animated:true)
end

您可以通过将贴图层移动到方法中来实现这一点-我验证了以下方法的有效性:

def loadView
  super
  # grab height / width
  @height = view.frame.size.height
  @width  = view.frame.size.width
  # this is your map layer
  mapRegion
  self.view.addSubview(@containerView)
end

def mapRegion
  @map_view = MKMapView.alloc.init
  # place map on top half of the screen
  @map_view.frame = [[0, 0], [@width, @height / 2]]
  self.view.addSubview(@map_view)
end