2011-12-26 4 views
0

다운로드 진행 상황을 알리기 위해 UIProgressViewUIActionSheet에 추가했습니다. 따라서 사용자가 버튼을 클릭하면 내 UIActionSheet이 (가) 해제 될 수 있습니다.사용자가 단추를 클릭 할 때 UIActionSheet가 닫히지 않도록하는 방법은 무엇입니까?

하지만 어떻게 할 수 있습니까?

지금은 didDismissWithButtonIndex 대리자 메서드를 구현하여 UIActionSheet을 닫은 후 다시 표시합니다. 그러나 나는 더 좋은 방법이 있기를 바라고 있었다.

+1

몇 가지 행동 강령보기 또는 숨기기를 게시 할 수 있습니까? – Hiren

+0

코드를 게시하여 구현 한 내용을 알 수 있도록하십시오. – Leena

답변

2

UIActionSheet은 모달보기이므로 UI를 완전히 차단합니다. UI 차단은 나쁜 습관으로 간주되므로 작업 시트를 닫지 못하게하는 것은 지원되지 않습니다. 대신 작업 시트 외부에 완전히 별도의 진행 표시기를 만들어야합니다.

+0

아니요 완전히 차단하지 않았습니다. UIActionSheet와 같이 취소 버튼이 있습니다. 사용자는 취소 버튼을 클릭하여 UIActionSheet를 닫을 수 있습니다. 사용자가 다운로드 버튼을 클릭 할 때 해고되기를 원하지 않았습니다. – Qiulang

+0

iOS 8에서는 더 이상 그렇게 할 수 없습니다. 그리고 당신의 말은 "당신은 행동 시트 밖에서 완전히 별도의 진행 지표를 만들어야합니다." 처음부터 맞았습니다. 감사! – Qiulang

0

@ Yar 답장을 보내 주셔서 감사합니다.

그러나 현재 솔루션에도 만족합니다. UIActionSheet.h

// Called when a button is clicked. **The view will be automatically dismissed after this call returns** 
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex; 

그래서 내가 어떤 버튼은 항상 액션 시트를 기각한다 명중 추측했다. 그런 다음 내 솔루션은 먼저 진행률 표시 줄을 숨 깁니다. 사용자가 다운로드 버튼을 클릭하면 액션 시트를 다시 표시하지만 다운로드 버튼을 숨기고 진행률 표시 줄을 표시합니다.

다운로드를 시작한 후에도 사용자가 취소를 원할 경우 취소 버튼이 항상 있습니다.

관련 문제