私のアプリは、ブログ投稿の JSON フィードを読み取って表示しています。PostView という UIView のサブクラスを作成し、ペン先をフックしました。表示は正常に機能していますが、タッチ イベントが機能しません。
nib には UIButton があり、その機能はセグエを実行することになっています (特定の投稿のコメントを表示するため)。何かを NSLog しようとしていますが、うまくいきません。コードの for ループの後にボタンを配置しようとしましたが、これらのアクションは正常に機能するため、addTarget メソッドにエラーはありません。
また、複数の場所で setUserInteractionEnabled を YES に設定しようとしましたが、どちらも役に立ちませんでした。私は本当にこれを理解することはできません。
助言がありますか?
アップデート:
for (NSDictionary * post in json) {
DMBasePostView *nextPost = [DMBasePostView alloc];
nextPost = [newPost init];
[nextPost setFrame:CGRectMake(...)];
// (setting of post-specific stuffs here cut out...)
// adding target for UIButton:
[nextPost.showCommentsButton addTarget:self action:@selector(testMethod:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:nextPost];
}
これは基本的に、ViewController で投稿を表示する方法です。PostView には必要な awakeFromNib メソッドがあるため、ペン先のレイアウトが正しく表示されます。