UIAlertController использует UILabel для отображения текста, и я прочитал, что только UITextViews могут отображать интерактивные ссылки. Я бы заменил метку в диалоговом окне, однако, как только я ее удалю, программа выдаст ошибку, что ее ограничение не может быть активировано. Чтобы устранить это ограничение, я прокрутил супервизоры UILabel, но их не найти. У кого-нибудь был успех с этим?
UIAlertController dialog = UIAlertController.Create("", message, UIAlertControllerStyle.Alert);
dialog.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
UILabel label = (UILabel)dialog.View.Subviews[0].Subviews[0].Subviews[0].Subviews[0].Subviews[0].Subviews[2];
UIView view = label;
do
{
view = view.Superview;
Console.WriteLine(view);
foreach (NSLayoutConstraint constraint in view.Constraints)
{
Console.WriteLine("Constraint: " + constraint.FirstItem + " --- " + constraint.FirstAttribute + " --- " + constraint.SecondItem + " --- " + constraint.SecondAttribute + " --- " + constraint.Constant);
if (constraint.FirstItem == label)
{
Console.WriteLine("FirstItem found");
view.RemoveConstraint(constraint);
}
if (constraint.SecondItem == label)
{
Console.WriteLine("SecondItem found");
view.RemoveConstraint(constraint);
}
}
} while (view != dialog.View);
//label.RemoveFromSuperview();