1

単一の UIButton (対応する IBOutlet を含む) をデフォルトのストーリーボードのデフォルト ビューに追加し、コントローラー クラスにアクション メソッドを追加することで構成される非常に最小限の UI 実装から始めると、すべてが正しく機能します (つまり、私のアクションは次の場合に呼び出されます)。ボタンをタップします)。

ここで、MediaPlayer/MediaPlayer.h をビュー コントローラーのヘッダー ファイルに単純にインクルードすると、次のようになります。

#import <UIKit/UIKit.h>
#import <MediaPlayer/MediaPlayer.h>

@interface Playing_Video_FilesViewController : UIViewController

@property (nonatomic, strong) MPMoviePlayerController *moviePlayer;
@property (nonatomic, strong) IBOutlet UIButton *playButton;

@end

MediaPlayer フレームワークをプロジェクトに追加すると、悪名高い「このクラスはキー playButton のキー値コーディングに準拠していません」でクラッシュします。

プロジェクトから MediaPlayer フレームワークの参照を削除すると、クラッシュしなくなります。代わりにボタンを削除して MediaPlayer フレームワークを離れると、クラッシュも停止します。

MediaPlayer と基本的な標準 UI を同時に使用するために他にすべきことはありますか?

編集: ストーリーボードを使用しない VideoPlayer サンプル アプリケーションで行われるように、ストーリーボードを使用する代わりに .xib ファイルを作成することで問題を回避しました。同じコードですが、動作するようになりました。

4

1 に答える 1

0

適切に接続されていないアウトレットまたはアクションがある場合は常に、これが表示されます。

1.) Open storyboard
2.) Select playButton
3.) Remove all outlets and actions from this item
4.) Remove plugs from your class that were previously attached (especially in dealloc)
5.) Create new outlet and control-drag from the storyboard to your class. Good to go.

-少しやり過ぎですが、毎回仕事をしてくれます。

于 2013-08-01T21:53:35.407 に答える