有谁知道如何在UIAlertView中更改UITextField的字体大小?以下是我的代码......
- (void) editTitle
{
NSString *string = kLocalizedString(@"Edit Title");
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil
message:string
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK", nil];
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
UITextField *textField = [alert textFieldAtIndex:0];
if (!self.title) {
textField.text = nil;
}
else {
textField.text = self.title;
}
textField.clearsOnBeginEditing = NO;
textField.clearButtonMode = UITextFieldViewModeAlways;
textField.autocapitalizationType = UITextAutocapitalizationTypeWords;
textField.clearsContextBeforeDrawing = NO;
// These statements have no effect on the size of the text field's font
textField.font = [UIFont systemFontOfSize:16.0];
NSDictionary *attributes = @{
NSFontAttributeName: [UIFont systemFontOfSize:16.0]};
textField.typingAttributes = attributes;
[alert show];
}
答案 0 :(得分:8)
在iOS 7.x之后,您无法自定义警报视图的外观,
在UIAlertView Class Reference中明确提到:
UIAlertView类旨在按原样使用,但不是 支持子类化。此类的视图层次结构是私有的 不得修改。
所以遗憾的是,无法更改textField字体,按钮文本颜色等等。
唯一的解决方案是使用自定义UIAlertView之一。
答案 1 :(得分:2)
答案 2 :(得分:0)
您可以使用以下方法之一创建自定义UIAlertView
:
并应用您的自定义textField
。
对于第二个选项,在 CODialog.m (addTextFieldWithPlaceholder
函数)中,您可以更改字体大小,或修改kCODialogTextFieldHeight
常量。
field.font = [UIFont systemFontOfSize:kCODialogTextFieldHeight - 8.0];