2010-06-09 2 views

답변

0

titleUIActionSheet으로 사용자 정의 할 수 없습니다. 당신이 비슷한 것을 원한다면, 당신은 당신 자신의 복제품을 디자인해야 할 것입니다.

+0

수있다. http://stackoverflow.com/a/25602552/2459296 – Salim

+0

@Salim, 나는 시스템 클래스의 private 서브 뷰를 열거하는 것을 권장하지 않는다; iOS의 향후 버전에서 변경 될 수 있습니다. – rpetrich

2

UIActionsheet에서 단추로 설정 한 이름 뒤에 공백을 넣으면됩니다. 예를 들어 "다운로드"인 경우 @ "다운로드 ------------"로 변경할 수 있습니다. 여기에서 대시는 공백입니다.

잘되기를 바랍니다.

+0

iOS 7에서 작동하지 않습니다. – Kaptain

0

네, 할 수 있습니다.

NSArray *subViewArray = yourActionSheet.subviews; 
for(int x=0;x<[subViewArray count];x++){ 
    if([[[subViewArray objectAtIndex:x] class] isSubclassOfClass:[UILabel class]]) 
    { 
     UILabel *label = [subViewArray objectAtIndex:x]; 
     label.textAlignment = NSTextAlignmentLeft; 
    } 

} 
+0

아니요, 작동하지 않습니다. – ohho

+0

예, 작동합니다. 나는 그것을 지금 하나의 응용 프로그램에서 작업하고있다. 오류 메시지가 나타 납니까? – SpaceDog

+0

아니요, 오류 메시지는 없습니다. 레이블은 여전히 ​​중앙에 있습니다. – ohho

0

예는

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet { 
    [actionSheet.subviews enumerateObjectsUsingBlock:^(id _currentView, NSUInteger idx, BOOL *stop) { 
     if ([_currentView isKindOfClass:[UIButton class]]) { 
      ((UIButton *)_currentView).contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; 
      ((UIButton *)_currentView).contentEdgeInsets = UIEdgeInsetsMake(0, 30, 0, 0); 
     } 
    }]; 
} 
+0

앱 스토어에 들어 보셨나요? – ullstrm

+0

예, 앱이 앱 스토어에 있습니다. 감사 – Salim

관련 문제