2011-07-21 6 views
1

Я хотел бы сбросить состояние UISwitch в UIPopoverController из моего MainViewController. Я предполагаю, что простоНастройка состояния UISwitch в UIPopoverController

popoverView.switchName.on = NO; 

не выполняет эту работу (как будто она не работает). Каков наилучший способ сделать это? Спасибо.

+0

В моем ответе я сделал несколько предположений. Дайте мне знать, если я пропустил этот пункт;) – RedBlueThing

ответ

1

UIPopoverController является контейнером для контроллера содержимого, который отображается внутри рамки. Я предполагаю, что в какой-то момент вы вызываете initWithContentViewController с контроллером представления, который представляет контент и что этот контроллер представления имеет свойство switchName.

Для доступа к этому контроллеру просмотра вы можете использовать свойство contentViewController объекта UIPopoverController. Я думаю, это будет что-то вроде:

// assuming popoverView is a UIPopoverController and that the type of 
// the view contorller you pass to initWithContentViewController is YourViewController 
YourViewController * myController = (YourViewController*)popoverView.contentViewController; 
myController.switchName.on = NO; 
+0

Благодарим за быстрый ответ. Да, я вызываю initWithContentViewController и да switchName - свойство. Я пробовал то, что вы предлагали, но, к сожалению, это тоже не работает. Имя popoverView.contentViewController.switchName похоже не является допустимой структурой. –

+0

@ erno-simonyi Ах! Вам нужно будет включить contentViewController в свой подкласс UIViewController (который я назвал YourViewController). Я обновил свой ответ с учетом этого. – RedBlueThing

+0

Спасибо, попробуй, как только я вернусь домой. –

Смежные вопросы