2015-11-17 6 views
0

Я пытаюсь создать карту, используя MKMapView, но я хочу, чтобы она занимала половину экрана в пользовательском интерфейсе.Как поместить MKMapView в UIView - или инициализировать его в кадре с нестандартным размером. RubyMotion iOS

Я хочу, чтобы карта была видимой в половине экрана, а также маркер 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 

ответ

0

Вы можете сделать это путем перемещения слоя карты в метод - я проверил, что ниже работы:

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