UIAlertView的UIAlertViewStylePlainTextInput自定义字体在iOS中不起作用

时间:2014-06-02 08:29:10

标签: ios uialertview uifont

我必须在我的iOS应用中使用UIAlertView's UIAlertViewStylePlainTextInput中的自定义字体。

我的代码不起作用。

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Create New Folder" message:@"Please enter folder name." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:@"Create", nil];

    alert.tag = 1;
    alert.alertViewStyle = UIAlertViewStylePlainTextInput;
    [alert textFieldAtIndex:0].font = [UIFont fontWithName:@"MyCustomFont" size:15];

    [alert show];

如何在UIAlertView textField中使用自定义字体?

3 个答案:

答案 0 :(得分:2)

您无法自定义警报视图的外观,因为它已被Apple设为私有。 请参阅链接https://developer.apple.com/library/ios/documentation/uikit/reference/UIAlertView_Class/UIAlertView/UIAlertView.html

中的子类注释

答案 1 :(得分:1)

在iOS> 7.0,您无法更改UIAlertView的外观,因为其视图层次结构是私有的。

official documentation说:

  

UIAlertView类旨在按原样使用,不支持子类。 此类的视图层次结构是私有的,不得修改

因此,无法更改字体。

希望这会有所帮助.. :)

答案 2 :(得分:1)

在iOS 7.x之后,您无法自定义警报视图的外观,因为它的视图层次结构是私有的。

UIAlertView Class Reference中明确提到:

  

UIAlertView类旨在按原样使用,但不是   支持子类。此类的视图层次结构是私有的   不会被修改

无法更改textField字体,按钮文本颜色等。

唯一的解决方案是使用自定义UIAlertView之一。就像

  

DTAlertView

     

SDCAlertView