Agregar marca de verificación al button de UIActionSheet Similar a Airplay Action Sheet

Estoy tratando de averiguar cómo agregar una marca de verificación al lado derecho de un button en una UIActionSheet .

Me gustaría imitar la marca de verificación en la hoja de acción de AirPlay. Por lo que he estado leyendo, personalizar estos botones significa acceder a la API privada de Apple y te pone en riesgo de ser rechazado en la App Store.

¿Hay una forma segura de agregar esta marca de verificación?

¿Qué hay de este método?

Coloque una label con un "tic" dentro del button y alterne eso. A continuación hay un código para hacer precisamente eso. El cambio se realiza a través de un KVO, pero se puede hacer de forms más simples …

El button está conectado en IB a través de self.theButton

 - (void)viewDidLoad { [super viewDidLoad]; // Create a 'tick' label CGRect rect; rect.size = CGSizeMake(17, 21); rect.origin.x = self.theButton.frame.size.width-17-10; rect.origin.y = (self.theButton.frame.size.height-21)/2; UILabel *label = [[UILabel alloc] initWithFrame:rect]; label.text = [NSString stringWithCString:"\342\234\223" encoding:NSUTF8StringEncoding]; label.backgroundColor = [UIColor clearColor]; label.hidden = YES; // Put label inside the button [self.theButton addSubview:label]; // Connect a observer on 'highlighted' (eq pressed basically) // could use another method to track 'selected' [self.theButton addObserver:self forKeyPath:@"highlighted" options:0 context:(__bridge void*)label]; } // Toggle the 'tick' label - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(UIButton*)button change:(NSDictionary *)change context:(UILabel *)label { if (button.highlighted) label.hidden = !label.hidden; } // Don't forget to cleanup - (void)dealloc { [self.theButton removeObserver:self forKeyPath:@"highlighted"]; } 
  NSString* strUrl=[MLControl shanetworking].currentServerUrl; for( MLServerUrl *title in [MLControl shanetworking].arrServerUrl) { NSString* strShow=title.name; if ([strUrl isEqualToString: title.url]) { strShow=[NSString stringWithFormat:@"√ %@",strShow]; }else{ strShow=[NSString stringWithFormat:@" %@",strShow]; } [chooseImageSheet addButtonWithTitle:strShow]; } // [[[chooseImageSheet valueForKey:@"_buttons"] objectAtIndex:0] setImage:[UIImage imageNamed:@"ic_check_black_18dp.png"] forState:UIControlStateNormal]; chooseImageSheet.actionSheetStyle = UIActionSheetStyleDefault; [chooseImageSheet showFromRect:btnRc inView:sender animated:YES];