원활하게 작동하는 내 IOS 응용 프로그램에 대한 사용자 지정 활동 표시기보기를 구현했습니다. 사용자 정의 활동 표시기가 움직이는 동안 수퍼 뷰의 알파를 50 % (또는 반투명)로 설정하고 사용자 정의 활동 표시기가 중지되면 정상으로 설정해야합니다. 보기 위해 사용자 지정 활동 표시기를 추가하려면 다음 클래스 메서드를 사용하고 있습니다.사용자 활동보기 표시기에 대한 UIView 반투명 만들기
+ (CustomActivityIndicatorView*)addCustomActivityIndicatorToView:(UIView *)view
{
CustomActivityIndicatorView *customActivityIndicatorView = [[CustomActivityIndicatorView alloc]init];
customActivityIndicatorView.hidesWhenStopsAnimating = NO;
[customActivityIndicatorView setFrame:CGRectMake(view.bounds.size.width/2-(customActivityIndicatorView.frame.size.width/2), view.bounds.size.height/2-(customActivityIndicatorView.frame.size.height/2), customActivityIndicatorView.frame.size.width, customActivityIndicatorView.frame.size.height)];
[view addSubview:customActivityIndicatorView];
[customActivityIndicatorView startAnimating];
return customActivityIndicatorView;
}
[view setAlpha : 0.5]를 설정할 때 문제는 사용자 지정 활동 표시기를 포함하여 모든 하위보기에 알파를 설정한다는 것입니다. superview가 사용자 정의 활동 표시기가 아닌 페이드 상태로 유지하려고합니다.
이 링크를 모두 읽으십시오.
iOS controlling UIView alpha behaviour for subviews
UIView group opacity in single view heirachy
또한 layer.shouldRasterize을 설정하기 위해 노력하고 그룹 불투명하지만 아무것도에 대한 PLIST 키를 도왔다. 도와주세요!
예, 그렇게하려고 시도했지만 작동하지만 사용자 상호 작용을 사용하지 못하게합니다 ... customActivityIndicatorView가 회전하는 동안 사용자가보기와 상호 작용할 수 있다고 요구 사항이 설명하는 곳에서. 감사합니다 – user3404693
오버레이는 사용자 상호 작용을 차단할 필요가 없습니다. 'userInteractionEnabled' 속성을 NO로 설정하면됩니다. – Cyrille