2012-12-19 3 views
1

내 프로그램에 두 개의보기가 있습니다. 하나는 statusView이고, alpha는 0.8f로 설정되어 있습니다. 아래에는 tableView가 있습니다. statusView를 비활성화하려면 tableView를 클릭하지 않는 것이 좋습니다. 설정 userInteractionEnabled = false; 도움이되지 않았습니다.상단보기의 상호 작용 사용 중지

다음은보기를 추가하는 방법입니다.

[self.view addSubview:_builded.view]; // obj with my tableView 
info = [[Info alloc] init]; 
[self.view addSubview:info.view]; // statusView 

답변

2

다음과 같은 하위보기를 추가하면 tableView 아래에 사용자 상호 작용이 적용되지 않습니다.

UITableView *testTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)]; 
testTableView.delegate = self; 
testTableView.dataSource = self; 
[self.view addSubview:testTableView]; 

UIView *statusView = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 200, 200)]; 
statusView.backgroundColor = [UIColor redColor]; 
statusView.alpha = 0.8; 
[self.view addSubview:statusView]; 
+0

흠. 나는 같은 방식으로하고있다. 그러나 나는 여전히 상호 작용한다. 보기를 추가하는 방법에 대한 내 업데이트 된 질문을 참조하십시오. – Datenshi

+1

답변을 업데이트했습니다. 보기를 만드는 방법 일 수 있습니다. info = [[Info alloc] init]을하는 이유는 무엇입니까; 그리고 info.view 및 UIView의 하위 클래스로 정보를 만들지 않습니다? –

+0

'[statusView setUserInteractionEnabled : NO]'정말 트릭을해야합니다. 그리고 아마'[testTableView becomeFirstResponder]'가 도움이 될 것입니다. – basvk