如何通过Xcode Designer添加MPVolumeView?

Dev*_*Ltd 4 cocoa-touch objective-c mpvolumeview

我最初动态地将MPVolumeView添加到页面中......

#import "MediaPlayer/MPVolumeView.h"
.
.
-(IBAction) handleVolumeButtonClicked:(id) sender {
    if (volumeView == nil) {
        volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(25, 378, 270, 30)];
        [self.view addSubview:volumeView];
        [volumeView release];
    } else {
        [volumeView removeFromSuperview];
        volumeView = nil;
    }
}
Run Code Online (Sandbox Code Playgroud)

但出于某种原因,我开始收到动态添加卷组件时应用程序崩溃的报告.

为了解决这个问题,我决定尝试通过XCode设计器将组件添加到视图中,但后来我意识到我不知道如何做到这一点!

我先将"对象"从模板拖到对象调色板中,但后来发现我无法将其添加到视图中.所以我废弃了这个想法,然后将'View'对象直接拖到.xib视图上.

添加组件后,我尝试将"自定义类"更改为"MPVolumeView",但视图只渲染了一个空矩形.在模拟器中运行代码无法呈现任何内容.

有没有人知道我缺少哪些步骤将类添加到调色板中不存在的视图中?

Sha*_*ney 23

添加通用UIView并将自定义类设置为MPVolumeView确实有效.确保执行以下操作:

  • 将MediaPlayer框架添加到项目中.如果不这样做,MPVolumeView的加载将无声地失败(尽管有一条消息记录到控制台).
  • 在实际设备上运行.模拟器不会显示音量滑块.
  • 仔细检查您的视图是否未从视图中自动恢复.

  • 模拟器不会显示音量滑块!谢谢@Shane Arney! (5认同)

sho*_*sho 5

您应该尝试在iOS设备上运行您的应用程序,而不是模拟器.在模拟器上,MPVolumeView以白色文本显示"无可用卷".如果视图的背景颜色设置为白色(在Interface Builder中为默认值),则视图显示为空.