2012-06-01 2 views
1

내 앱이 블로그 게시물의 JSON 피드를 읽고 표시합니다. 나는 PostView라는 UIView의 하위 클래스를 만들고 그것에 펜촉을 연결했습니다. 표시가 잘 작동하지만 터치 이벤트가 작동하지 않습니다.맞춤 UIView가 터치 이벤트를 수신하지 않습니다.

nib에는 UButton이 있습니다.이 함수는 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 메서드가있어서 펜촉 레이아웃을 올바르게 표시합니다.

+0

어떻게 코드를 XIB에 연결하고 있습니까? 사람들을 너무 자주 보지 않는다는 것은 다소 까다로운 일입니다. – Christian

+0

빈 xib 파일과 파일 소유자를 PostView 클래스에 추가했습니다. 그런 다음 UIView를 추가하고 컨트롤 위에 UIView를 추가합니다. 난이 viewblroller 내 xib 레이아웃을 아무 문제없이 표시 할 수 있습니다. – stamas

+0

뷰 계층 구조에서 UIButton은 어떤 뷰의 자식입니까? –

답변

3

문제점은 컨트롤러에서 PostView의 높이를 조작했지만 추가 된 UIView 보조 뷰는 조작하지 않아서 결과적으로 uibutton이 수퍼 뷰의 범위를 벗어났습니다. 나는 그것이 올바르게 표시 되었기 때문에 생각하지 못했지만 접촉에 반응하지 않았습니다. 나는 superview의 높이를 고쳐야 만했고 내 문제를 해결했다.

관련 문제