UIButtonを作成する関数を作った時に、クリック時の動作関数を指定する方法が、selfのviewcontroller内と外部関数で記述が違う(ていうか、バージョンアップに伴う、記述の違いなのか?)
元の記述は
[btn addTarget:selfaction:@selector(hoge:) forControlEvents:UIControlEventTouchUpInside];
こんな感じで、
「@selector(hoge:)」の箇所が問題のようだ。
[btn addTarget:uv action:sel_registerName('hoge') forControlEvents:UIControlEventTouchUpInside];
上記を次のようにすることで、問題解決。
sel_registerName('hoge')」
ついでに、クリック時の引き渡し変数などが追加できるといいのに・・・
試してないからわからんが、とにかくここは扱いづらいのがObjective-C
こんな感じ
[btn addTarget:self action:@selector(pageBtnClick:) forControlEvents:UIControlEventTouchUpInside];
[uv.view addSubview:btn];
↓↓↓
[btn addTarget:uv action:sel_registerName("pageBtnClick") forControlEvents:UIControlEventTouchUpInside];
[uv.view addSubview:btn];
0 件のコメント:
コメントを投稿