我在UIView中有多個popovercontroller。 我能夠爲一個popover調用popoverControllerDidDismissPopover方法,但無法對所有popovercontrollers執行相同的操作。objective-c多個popoverviewcontroller
有人可以建議我,我怎麼能做到這一點?
我在UIView中有多個popovercontroller。 我能夠爲一個popover調用popoverControllerDidDismissPopover方法,但無法對所有popovercontrollers執行相同的操作。objective-c多個popoverviewcontroller
有人可以建議我,我怎麼能做到這一點?
你是什麼意思,你可以打電話?你有沒有繼承UIPopoverController,並自己調用方法?
如果您的意思是「當我的pop are被解僱時不會打電話」,我們需要更多信息。在某些情況下,這是指定的行爲。讓我引用文檔:
彈出窗口控制器不響應對
dismissPopoverAnimated:
方法的編程調用而調用此方法。如果以編程方式關閉彈出窗口,則應在調用dismissPopoverAnimated:
方法後立即執行任何清理操作。
如果您有多個彈出窗口並想知道哪一個剛剛被解僱,您必須在方法本身進行比較。
編輯根據您的評論:
的方法是總是稱爲popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
。該方法由用戶解散的任何彈出式觸發。如果你有兩種不同的餡料需要不同的定型,你必須在這種方法中區分它們。這就是爲什麼它有參數,其中的彈出把self
,指向自己。
你的方法應該是這樣的:
popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
{
if (popoverController == myFirstPopoverController)
{
//do something
}
if (popoverController == mySecondPopoverController)
{
//do something else
}
}
我有兩個實例PopoverViewController的(firstPopover和secondpopover)。當第一次換機和第二次換機時,我需要執行一些操作。如果我創建Popover命名實例PopoverViewController然後 - (無效)popoverControllerDidDismissController工作,但是當我寫 - (無效)firstPopoverControllerDidDismissController不起作用。 –
我試着用你的建議代碼,但控制根本就沒有來到popoverControllerDidDismissPopover方法。 –
當popover被取消時,我正在執行NSLOG(@「第一個Popover Dismissed」)NSLOG(@「Second Popover Dismissed」)NSLOG(@「Third Popover Dismissed」) –