ฉันใช้ UIAlertController ใหม่เพื่อแสดงการแจ้งเตือน ฉันมีรหัสนี้:
// nil titles break alert interface on iOS 8.0, so we'll be using empty strings
UIAlertController *alert = [UIAlertController alertControllerWithTitle: title == nil ? @"": title message: message preferredStyle: UIAlertControllerStyleAlert];
UIAlertAction *defaultAction = [UIAlertAction actionWithTitle: cancelButtonTitle style: UIAlertActionStyleCancel handler: nil];
[alert addAction: defaultAction];
UIViewController *rootViewController = [UIApplication sharedApplication].keyWindow.rootViewController;
[rootViewController presentViewController:alert animated:YES completion:nil];
ตอนนี้ฉันต้องการเปลี่ยนแบบอักษรชื่อและข้อความสีขนาดและอื่น ๆ วิธีใดดีที่สุดในการทำเช่นนี้
แก้ไข: ฉันควรใส่รหัสทั้งหมด ฉันสร้างหมวดหมู่สำหรับ UIView ที่สามารถแสดงการแจ้งเตือนที่ถูกต้องสำหรับเวอร์ชัน iOS
@implementation UIView (AlertCompatibility)
+( void )showSimpleAlertWithTitle:( NSString * )title
message:( NSString * )message
cancelButtonTitle:( NSString * )cancelButtonTitle
{
float iOSVersion = [[UIDevice currentDevice].systemVersion floatValue];
if (iOSVersion < 8.0f)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle: title
message: message
delegate: nil
cancelButtonTitle: cancelButtonTitle
otherButtonTitles: nil];
[alert show];
}
else
{
// nil titles break alert interface on iOS 8.0, so we'll be using empty strings
UIAlertController *alert = [UIAlertController alertControllerWithTitle: title == nil ? @"": title
message: message
preferredStyle: UIAlertControllerStyleAlert];
UIAlertAction *defaultAction = [UIAlertAction actionWithTitle: cancelButtonTitle
style: UIAlertActionStyleCancel
handler: nil];
[alert addAction: defaultAction];
UIViewController *rootViewController = [UIApplication sharedApplication].keyWindow.rootViewController;
[rootViewController presentViewController:alert animated:YES completion:nil];
}
}
DISCLAIMER:
สำหรับทุกคนที่อ่านคำตอบด้านล่าง Apple จะปฏิเสธแอปของคุณ หากคุณมักจะใช้ API ส่วนตัวใด ๆ และในคำตอบด้านล่างว่าเกิดอะไรขึ้น ..