2017-09-06 10 views

답변

-1

이 어떤 3rdParty 도서관

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet]; 

    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", @"Cancel action") style:UIAlertActionStyleCancel handler:^(UIAlertAction *action){ 
     NSLog(@"Cancle Tapped"); 
     [alertController dismissViewControllerAnimated:YES completion:nil]; 
    }]; 

    [alertController addAction:cancelAction]; 

    UIAlertAction *yesAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"YES", @"YES action") style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){ 
     NSLog(@"Yes Button Tapped"); 
    }]; 

    // Add CheckMark And Change CheckMark Color 
    [yesAction setValue:YOUR_COLOUR forKey:@"titleTextColor"]; 
    [yesAction setValue:YOUR_COLOUR forKey:@"imageTintColor"]; 

    [alertController addAction:yesAction]; 

    UIAlertAction *noAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"NO", @"NO action") style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){ 

    }]; 

    // Add CheckMark And Change CheckMark Color 
    [noAction setValue:YOUR_COLOUR forKey:@"titleTextColor"]; 
    [noAction setValue:YOUR_COLOUR forKey:@"imageTintColor"]; 
    [alertController addAction:noAction]; 

    [self presentViewController:alertController animated:YES completion:nil]; 

를 사용할 필요가 없습니다 시도 그리고 당신은 기본적으로 체크 표시되어있는 모든 버튼을 설정하려면이 추가보다.

[yesAction setValue:@true forKey:@"checked"]; 
0

UIAlertActiontextcolor을 무시할 수는 없으며 권장되지 않습니다. 자신의 견해를 만들고 필요에 따라 제시해야합니다. 원하는 것을 성취 할 수있는 타사 라이브러리가 있습니다.

+0

요점을 알려주지 않습니다. –

+1

앱이 거부 될 수 있으므로 비공개 API/속성을 재정의하는 것은 좋지 않습니다. 그것을 위해 애플의 문서를 참조하십시오. 따라서 textcolor를 수정하는 대신 UIAlertController처럼 동작하는 자신의 뷰를 만듭니다. 일부 타사 라이브러리를 사용하여 UIAlertController의 모양과 느낌을 가질 수 있습니다. 나는 당신이 동의하기를 바랍니다. –