私はカスタムUIAlertViewを持っています(カスタムでは、プログラム上の下にUILabelを追加しています)。 iOS < 11で正常に動作しますが、iOS 11では惨めに失敗します。だから、iOS 10ではうまくいく(左)が、同じコードでiOS 11(右)で失敗するiOS 11カスタムUIAlertViewはきれいにレンダリングしません
これは私がカスタムUAlertViewを作るために使用しているコードです。何か案は?
SessionManager *sessionMgr = [SessionManager sharedManager];
NSString *saludoStr = [NSString stringWithFormat:@"¡Bienvenido %@!",self.datosPersonalesResponse.nombre];
NSString *mailStr = [sessionMgr getUserEmail];
NSString *mensajeStr = [NSString stringWithFormat:@"Te hemos enviado un email de \nactivación de cuenta a: \n\n%@\n\nActivá tu cuenta para recibir alertas,\n avisos recomendados y postularte a \nempleos.\n",mailStr];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:saludoStr message:@"" delegate:self cancelButtonTitle:@"Cerrar" otherButtonTitles:@"No lo recibí", nil];
UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
lbl.numberOfLines= 0;
[lbl setFont:[UIFont fontWithName:@"OpenSans" size:13]];
[lbl setTextColor:[UIColor colorWithRed:146/255.0f green:146/255.0f blue:146/255.0f alpha:1.0]];
NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithString:mensajeStr];
[attributedStr addAttribute:NSFontAttributeName
value:[UIFont fontWithName:@"OpenSans-Semibold" size:16]
range:NSMakeRange(56,[mailStr length])];
[attributedStr addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:NSMakeRange(56,[mailStr length])];
lbl.attributedText = attributedStr;
lbl.textAlignment = NSTextAlignmentCenter;
[alert setValue:lbl forKey:@"accessoryView"];
[alert show];
'UIAlertView'はカスタムビューの追加機能をサポートしていません。それは過去に働いていたかもしれないが、文書は常にそれをしないと述べている。 – rmaddy