有人在3.2 SDK中使用Uipicker有任何运气吗?我正在将iPhone应用程序移植到iPad中,这是我似乎无法使用的一件事。我试过了...

- 创建动作表,将挑选器添加为子视图并显示。

- 在上面的动作表上创建,使其成为通用ViewController的视图,并将VC添加到UIPOPOVER中

- 仅将Picker拍摄通用ViewController的视图,并将VC添加到UIPOPOVER中

使用动作表,它甚至没有尝试绘制它。在弹出视图中,它尝试绘制但无法正确渲染。

只是想检查一下是否有人完成了这一目标,如果是这样。

谢谢大家!

有帮助吗?

解决方案

我是上述教程的作者。为了使选择器在弹出窗口中工作,并将所选值添加到主视图中的文本框中,则需要使用协议。我创建了一个示例项目来展示这一点。我将很快就此创建一个教程。

样本项目

其他提示

我只是为此而苦苦挣扎了大约24小时,并通过遵循本教程和他提到他的UitableView的任何位置来使它起作用,只需考虑一下您的Uipickerview并替换适当的信息即可。

马修·凯西(Matthew Casey) - 教程:iPad上的控制权简介

简而言之,在iPad上,您可以在弹出式控件中显示拾音器的唯一方法。在弹出窗口的内容视图控制器(Picker View的视图控制器)和主应用程序的视图控制器之间共享数据是我不知道的位。 (即获取选择器的“ didSelectrow”方法来影响主视图控制器中的对象,例如uitextfield或uibutton。)这是通过创建自定义协议将“ didSelectrow”方法转发到主视图控制器的方法来处理的。

我绝不是这些东西的专家,所以我逐步介绍了该教程,它最终确实有效。在我发现教程之前,我迷路了。 (我也在iPhone上移植到iPad。)

当您想在视图控制器之间共享数据时...解决方案是NSNotificationCenter。

我知道这并不能总体回答这个问题,但是如果我想在视图控制器之间共享数据:在发送视图控制器中

NSMutableDictionary *toshare = [[NSMutabledictionary alloc] init];
[toshare setValue:valueToShare forKey:@"shared"];
[[NSNotificationCenter defaultCenter] postNotificationName:@"imSharing" withObject:nil userInfo:(NSDictionary *)toshare];

在接收视图控制器中:放置在ViewDidload中

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(imSharing:) name:@"imSharing" object:nil];

然后添加此功能:

-(void)imSharing:(NSNotification *)notification {
      NSDictionary *dictionary = [notification userInfo]; 
        //do something with [dictionary objectForKey:@"shared"];
        dictionary = nil;
}

这可用于在2个视图控制器之间共享数据...好吧,无论如何,少量数据。

否则在这里查找有关的更多信息 在视图控制器之间共享数据

您正在使用接口构建器吗?使用笔尖文件中的Xcode中创建新的UiviewController子类,然后拖动Uipicker要容易得多。然后,您需要在弹出窗口中介绍视图控制器。动作表并非设计为具有子视图,所以不要那样做。

我做到了:查看第三个屏幕截图 C64油漆.

感谢大家的回答。因此,尽管我不能说最初的问题是什么,但我从头开始就开始了问题,然后才能正常工作。我制作了全新的视图控制器,并将它们显示在弹出窗口中,并且效果很好。似乎是制作通用应用程序的艰难点之一。

如果您在iPad上创建它,则Uipickerview将工作起来:

UIPickerView* pickerView = [[UIPickerView alloc]initWithFrame: CGRectMake (someX, someY, 320, 216)];

其他一些尺寸似乎确实有效。但是Cgrectzero在iPad上不起作用 - 即使它确实在iPhone中起作用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top