2011-02-03 1 views
0

Я добавил кнопку (кнопку) в подвью (карту) верхнего вида в своем приложении, но мне нужно вызовите действие на контроллере верхнего уровня, когда кнопка нажата. Вот разбивка слоев:iOS - добавление кнопки к виду подвью, но действие кнопки вызова на контроллере верхнего уровня

-ViewController.view имеет подвид карты.

-map имеет подвид кнопки.

-button должен иметь цель/действие с целью быть ViewController.

Все это делается в программном обеспечении ViewController, поэтому карта является прямым подзоном ViewController.view (т. Е. Не имеет собственного контроллера вида).

Когда я делаю кнопку и устанавливаю цель в себя, она вызывает действие селектора на карте. Кнопка - это перекрестье, которое должно увеличиваться в местоположении пользователя. Мне нужно это на карте для обрезки и вращения. Если я добавлю представление в качестве подзадача ViewController с целевым я, действие начнет действовать и карта будет масштабироваться. Если я добавлю представление в качестве подсмотра карты, действие не будет срабатывать или не вызвать какие-либо ошибки.

Возможно ли это?

Вот что я хочу сделать в ViewController:

[crosshair addTarget:self action:@selector(zoomToLocation) forControlEvents:UIControlEventTouchUpInside];

[[self map] addSubview:crosshair];

ответ

0

Вы говорите: «Когда я сделать кнопку и установить цель для себя, он вызывает селектор действия на карте ". Где этот код, т. Е. Что такое «я» в то время?

В чем проблема с вызовом селектора в виде карты? Если необходимо, чтобы какой-либо процесс выполнялся контроллером представления, вы можете настроить функцию делегата (обратного вызова) в контроллере представления, который вызывает селектор.