小编Ric*_*ild的帖子

是否可以从我的应用程序中的多个类中注册NSUserDefaults的默认值?

我已经阅读并理解了NSUserDefaults可以用来将我的应用程序的首选项保存到文件系统的方法.我也知道在以后在应用程序中使用它们之前需要注册默认值.

但是,我不确定是否可以在我的应用程序中注册各种类的默认值.例如,在AppDelegate我想要注册属于整个应用程序的首选项,但在一个Theme-class中我想使用(因此注册)仅用于获取和设置应​​用程序主题的首选项.就用户默认值而言,更多的类将有自己的需求,因此这适用于我工作的任何项目的多个部分.

这种方式是保持偏好与他们属于正确的工作方式的类?

iphone preferences nsuserdefaults ipad ios

9
推荐指数
1
解决办法
1079
查看次数

如何在触摸接受选择的按钮后关闭弹出窗口中的视图控制器

在我目前针对iOS 5.0及更高版本的项目中,我希望显示一个带有一些按钮的视图,让用户可以选择当前在屏幕上绘制的内容的布局.

在iPhone和iPod Touch上,我让选择视图控制器通过调用以下方式接管整个屏幕:

[self presentViewController:choiceController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

在iPad上,我通过调用以下方法在popover中显示相同的视图控制器视图:

    [self setChooseLayoutPopover:[[UIPopoverController alloc] initWithContentViewController:choiceController]];
    [[self chooseLayoutPopover] setDelegate:self];
    [[self chooseLayoutPopover] setPopoverContentSize:CGSizeMake(320.0, 460.0)];        
    [[self chooseLayoutPopover] presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,我将两个消除块传递给选择视图控制器,一个用于实际选择布局,另一个用于用户取消操作.在iPad上触摸弹出边界确实取消了它,在iPhone和iPod Touch上我显示了一个也可以使用的取消按钮.

在iPhone和iPod Touch上,我通过调用以下方式选择块来进行选择:

[[self presentingViewController] dismissViewControllerAnimated:YES completion:[self dismissBlockDone]];
Run Code Online (Sandbox Code Playgroud)

但是在iPad presentingViewController上总是为零,即使我使用上述调用将指针传递给我的呈现视图控制器,也无法在iPad上执行任何操作.

我确实实现-(void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController并将呈现视图控制器设置为popover的委托,并且当用户触摸popover外部时调用此方法,但是在用户实际触摸选择按钮后我找不到要调用的内容.我可以设置所选的值,但我不知道如何摆脱后来的popover.

有什么建议?

iphone ipad dismiss uipopovercontroller ios

1
推荐指数
1
解决办法
9425
查看次数