IBを使わないカメラアプリを作っています。
AppDelegate.m内のapplication didFinishLaunchingメソッド内で生成したwindowとviewはコンパイルして表示確認できたのですが、viewControllerで書いたUIImagePickerViewControllerのviewが出てきません。
そもそもviewController.mのloadViewメソッドやviewDidLoadメソッドが動いていません。(メソッド内にNSLogを書いてコンパイルしてもログに出ない)
viewController.h
#import <UIKit/UIKit.h>
@interface CameraViewController : UIViewController <UINavigationControllerDelegate,UIImagePickerControllerDelegate> {
@private
UIImagePickerController* _imagePicker;
}
@property(nonatomic,retain) UIImagePickerController *imagePicker;
@end
viewController.m
#import "CameraViewController.h"
@implementation CameraViewController
@synthesize imagePicker=_imagePicker;
- (void)dealloc
{
[super dealloc];
}
#pragma mark - View lifecycle
- (void)loadView
{
[super loadView];
//UIImagePickerControllerの作成
if(![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){
return;
}
UIImagePickerController* imagePicker;
imagePicker = [[UIImagePickerController alloc] init];
[imagePicker autorelease];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.allowsEditing=NO;
imagePicker.delegate = self;
//imagePickerのviewを最上部に
[self presentModalViewController:imagePicker animated:YES];
//シャッターを切る
[self.imagePicker takePicture];
}
@end
viewControllerが機能しない原因としてそういった可能性が考えられるのでしょうか?
あれこれ調べてみましたが煮詰まっています。よろしくお願いします
No.2ベストアンサー
- 回答日時:
いや、逆にインスタンス変数と、プロパティの宣言のほうがいらないんでしょう。
ご指摘の内容を参考に試行錯誤してみたらできました。
ともかく前提としてインスタンス変数の宣言とインスタンス生成はどちらか一方で良いということですね。ありがとうございました!
No.1
- 回答日時:
- (void)loadView
{
[super loadView];
//UIImagePickerControllerの作成
if(![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){
return;
}
UIImagePickerController* imagePicker;
imagePicker = [[UIImagePickerController alloc] init];
[imagePicker autorelease];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.allowsEditing=NO;
imagePicker.delegate = self;
//imagePickerのviewを最上部に
[self presentModalViewController:imagePicker animated:YES];
//シャッターを切る
[self.imagePicker takePicture];
}
この中の9行目、
UIImagePickerController* imagePicker;
を削除してみてください。
この行があると、インスタンス変数で、imagePickerを宣言している意味がありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- その他(プログラミング・Web制作) Pythonで複数のメソッドをまとめて管理する方法について 1 2023/03/30 00:01
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- その他(プログラミング・Web制作) このpythonコードの意味教えて下さい! 2 2022/08/26 00:52
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CloseとDisposeの違い
-
C# 超初心者です。 this.Refres...
-
コールバックでイベントを使う...
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
EXCEL VBA マクロ 実行する度に...
-
エクセルVBAで、MsgBox やInput...
-
DoEventsがやはり分からない
-
Excelシート上のマクロを登録し...
-
【VB】タブ切り替え時のイベント
-
【Excel】特定の文字を含むセル...
-
VBAでループ内で使う変数名を可...
-
エクセルの画面にユーザーフォ...
-
「PC Helpsoft Driver Updated...
-
マクロで作ったボタンのサイズ...
-
VBA エンターキーでイベントに...
-
switch の範囲指定
-
インタラクティブの反対語は?
-
【EXCEL VBA】ダブルクリックで...
-
findは動くがfindnextがマクロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CloseとDisposeの違い
-
C# 超初心者です。 this.Refres...
-
[C#]FormクラスのShowメソッド...
-
DLL内のイベントをハンドリング
-
フィールド(メンバ変数)のプリ...
-
C#のインスタンスを参照渡ししたい
-
vb.net フォームアプリケーシ...
-
Objective-C,viewが動作しない
-
Try~Catch、Finallyについて。
-
コールバックでイベントを使う...
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
VBAでループ内で使う変数名を可...
-
Excelシート上のマクロを登録し...
-
エクセルVBAで、MsgBox やInput...
-
switch の範囲指定
-
メルカリのメルカードで買い物...
-
【Excel】特定の文字を含むセル...
-
DoEventsがやはり分からない
-
EXCEL VBA マクロ 実行する度に...
おすすめ情報