通行证变量为UIPopoverControllerView的iOS
我有从一个视图控制器传递变量到UIPopoverViewcontroller通行证变量为UIPopoverControllerView的iOS
在逻辑不一样通过数据两种常用viewControllers之间的问题?
即在视图1中设置一个变量并合成然后呈现PopoverView将变量从视图1传递给视图2?
我真的很苦恼,我已经读了一些关于协议,但似乎矫枉过正,如果它会像平常的视图控制器工作?
一个例子
self.optionsPopover.delegate = self;
popOverViewController = [[PopOverViewController alloc]initWithNibName:@"PopOverViewController" bundle:nil];
self.optionsPopover = [[UIPopoverController alloc]initWithContentViewController:popOverViewController];
//dictionary to pass from view1 to view2 which is a popover
self.popOverViewController.statsDict = self.statsDict;
[self.optionsPopover setPopoverContentSize:CGSizeMake(320, 480)];
[self.optionsPopover presentPopoverFromBarButtonItem:optionsButton permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
没有什么错在你的代码,除非你正在创建酥料饼之前设置酥料饼的代表。我改变了顺序。并检查您的字典是否为零
self.popOverViewController = [[PopOverViewController alloc]initWithNibName:@"PopOverViewController" bundle:nil];
//dictionary to pass from view1 to view2 which is a popover
//self.popOverViewController.statsDict = self.statsDict;
self.popOverViewController.testString = @"testing"; // This is for testing only
self.optionsPopover = [[UIPopoverController alloc]initWithContentViewController:popOverViewController];
self.optionsPopover.delegate = self;
[self.optionsPopover setPopoverContentSize:CGSizeMake(320, 480)];
[self.optionsPopover presentPopoverFromBarButtonItem:optionsButton permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
感谢这是代表的命令!非常感谢 – 2013-04-11 13:07:45
不,这是在设置定制属性后调用'initWithContentViewController'的顺序。查看我的答案以获得正确的解决方案 – 2013-04-11 13:12:52
你是对的,谢谢! – 2013-04-11 13:17:07
的UIPopOverViewController
将让你展现自己的UIViewController
(充当容器)。像收到UIViewController
的UINavigationController
一样。您在UIPopoverViewController
中想要做什么?
我已经提供了一个从view1传递字典到view2的例子,这是popoverviews视图控制器 – 2013-04-11 12:40:33
为什么你用另一个启动一个'UIPopOverController'? – Peres 2013-04-11 12:42:49
对不起,不对? – 2013-04-11 12:46:51
initWithContentViewController
后,您popOverViewController
的viewDidLoad
方法已经被称为(和当时的statsDict
属性为nil
)。
因此,无论设置该属性初始化被称为或写像一个定制的setter前:
- (void)seStatsDict(NSDictionary *)statsDict
{
_statsDict = statsDict;
if (self.view) {
// Set UILabel texts, etc...
}
}
对不起,它没有区别 – 2013-04-11 12:48:17
检查我编辑的答案! – 2013-04-11 13:11:01
这是相同的,但你设置属性之前,你提出它。你是否为popover创建了一个自定义类来放置你的属性? – 2013-04-11 12:36:38