2014-03-25 5 views
0

액션 시트가 자연스럽게 배경보기를 약간 흐리게하지만 실제로 눈에 띄지는 않습니다. 나는 그것을 더 어둡게 만들고 싶다.액션 시트를 만들어 주변 뷰를 더 어둡게 만드는 방법은 무엇입니까?

또한 어떻게 다른 곳을 클릭 할 수 없도록 만들 수 있습니까? 작업 시트 바깥을 클릭하면 작업 시트가 사라집니다. 나는 그 일이 일어나기를 원하지 않습니다 - "취소"버튼을 눌러 액션 시트를 사라지게해야합니다.

+0

당신은 당신이 다른 행동을 원한다면 자신을 작성해야합니다. – rmaddy

+0

두 번째 요구 사항은 Apple의 지침에 위배됩니다. 액션 시트 (iPad)의 바깥 쪽을 탭하면 취소와 같이 처리됩니다. – rmaddy

+0

아, 고마워, 너는 나에게 많은 시간을 저축 해 뒀다. – fewaf

답변

1

당신은 이런 식으로 뭔가를 시도 할 수 있습니다 :

@property (nonatomic, strong) UIView *shadowView; 

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet 
{ 
    if (!self.shadowView) 
    { 
     self.shadowView = [[UIView alloc]initWithFrame:self.view.bounds]; 
     self.shadowView.backgroundColor = [UIColor colorWithRed:(42.0/255.0) green:(42.0/255.0) blue:(42.0/255.0) alpha:1.0]; 
     self.shadowView.alpha = 0.7; 
     [self.view addSubview:self.shadowView]; 
    } 
    else 
    { 
     self.shadowView.alpha = 0.7; 
    } 
} 

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    self.shadowView.alpha = 0.0; 
} 
+0

이렇게하면 'testProjectViewController'유형의 객체에서 'shadowView'속성을 찾을 수 없다. – fewaf

+0

안녕하세요, McFly? 내 대답 좀 봐, 재산을 포함 : – klcjr89

+0

. 아르. 에이. 천재. 그것은 효과가있다! 고마워요. – fewaf

관련 문제