2011-07-21 43 views
1

我想從MainViewController中重置UIPopoverController中UISwitch的狀態。我假設一個簡單的在UIPopoverController中設置UISwitch狀態

popoverView.switchName.on = NO; 

不會做這項工作(因爲它似乎沒有工作)。什麼是最好的方法來做到這一點? 謝謝。

+0

我在我的答案中做了一些假設。讓我知道如果我錯過了這一點;) – RedBlueThing

回答

1

UIPopoverController是框架內顯示的內容視圖控制器的容器。我假設你在某個時候用一個視圖控制器調用initWithContentViewController ,該視圖控制器顯示內容並且此視圖控制器具有switchName屬性。

要訪問此視圖控制器,您可以使用UIPopoverController的contentViewController屬性。我想它會是這樣的:

// 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

謝謝,我一回家就會試試。 –