UIAlertView 中的 MPVolumeView?

Posted

技术标签:

【中文标题】UIAlertView 中的 MPVolumeView?【英文标题】:MPVolumeView in a UIAlertView? 【发布时间】:2010-05-13 18:20:21 【问题描述】:

是否可以将 MPVolumeView 放在 UIAlertView 中?

我尝试将其放入其中,但它不显示。可能是sizeToFitinitWithFrame: 部分? 有没有办法测试MPVolumeView 是否真的被创建了?

这是我初始化 UIAlertViewMPVolumeView 的代码:

UIAlertView *volumeAlert = [[UIAlertView alloc] initWithTitle:@"Volume" message:@"" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];

MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:volumeAlert.bounds];

[volumeAlert addSubview:volumeView]; 

[volumeAlert sizeToFit];

[volumeAlert show];
[volumeAlert release];
[volumeView release];

【问题讨论】:

而不是使用UIAlertView,我只是使用带有透明图像的简单UIView作为MPVolumeView和一些文本的“背景”,并将其加载到屏幕上,而不是UIAlertView。我将保留这个问题以供学习:) 这里似乎有某种额外的支持:developer.apple.com/iphone/library/documentation/MediaPlayer/… ...但我自己没有尝试过。 【参考方案1】:

看看MPVolumeSettingsAlertShow()

显示用于控制系统音量的警报面板。

【讨论】:

【参考方案2】:

我认为使用 VolumeAlert 的框架初始化 VolumeView 会导致问题。由于从未设置 VolumeAlert 的框架(在设置 VolumeView 的框架之前),因此您不能依赖它是任何大小。

【讨论】:

我将为此使用什么尺寸?我真的不擅长在代码/实时中创建和放置东西.. 我会尝试类似 CGRECTMAKE(0,0,100,20) 的方法,看看它是否会出现,看看这是否真的是原因。虽然如果我从我读过的其他内容中没记错的话,UIAlertView 是不可定制的(没有私有 api 或滚动你自己的版本),所以这可能都是不正确的。 我会将其标记为已接受的答案,因为这是最相关的答案。毕竟我不使用这个解决方案,请参阅问题。【参考方案3】:

UIAlertViewUIView 的子类,UIView 有一个方便的addSubview: 方法。你试过吗?

【讨论】:

@Emil 好的....那么您的代码是否有效?如果不是,发生了什么?你期望发生什么?是否记录了任何错误?你不能只说“这是我的代码,帮我修好”... 它不起作用,弹出 UIAlert,但那里没有音量滑块。可能是导致它的initWithFrame: 部分吗?如果它甚至创建了 volumeView,你知道一种测试方法吗?【参考方案4】:

您可能想查看 Jeff LaMarche 最近发布的这篇博文,应该可以满足您的需求 - Custom Alert Views

【讨论】:

以上是关于UIAlertView 中的 MPVolumeView?的主要内容,如果未能解决你的问题,请参考以下文章

uialertview 中的图像...?

iPhone App 中的 UIAlertView 动态

可达性中的 UIAlertView 异常

更改 UIAlertView 中的按钮标题颜色

UIAlertView中的UITextField

UIAlertView 中的 iOS / UITextField