1

我的应用程序正在读取博客文章的 JSON 提要并显示它们。我创建了一个名为 PostView 的 UIView 子类,并将一个笔尖连接到它上面。显示工作正常,但是,我无法让任何触摸事件工作。

在笔尖中,我有一个 UIButton,其功能应该是执行 segue(显示给定帖子的评论)。我只是想 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 方法,因此它可以正确显示笔尖布局。

4

1 回答 1

4

问题是我在控制器中操纵了 PostView 的高度,但没有操纵添加的 UIView 子视图,因此 uibutton 不知何故超出了其父视图的范围。我没有想到它,因为它仍然显示正确,但它没有响应触摸。我必须修复超级视图的高度,它解决了我的问题。

于 2012-06-04T13:10:02.020 回答