2011-11-11 21 views
6

Tôi sử dụng MFMailComposeViewController canSendMail trong ứng dụng của tôi mọi thứ hoạt động tốt nhưng nếu không có tài khoản trên iPhone hoặc iPad, nó sẽ trả về một cảnh báo chuẩn mà tôi muốn thay đổi. Nếu tôi đặt một cảnh báo trong người khác, nó sẽ trả lại 2 cảnh báo. Có cách nào để thay đổi cảnh báo tiêu chuẩn mà nó trả về không? Hoặc ít nhất là thay đổi văn bản trong đó?MFMailComposeViewController canSendMail thay đổi cảnh báo nếu trả lại không

MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init]; 
if ([MFMailComposeViewController canSendMail]) { 
    controller.mailComposeDelegate = self; 
    controller.navigationBar.tintColor = [UIColor grayColor]; 
    NSArray *toRecipients = [NSArray arrayWithObject:@"[email protected]"]; 
    [controller setToRecipients:toRecipients]; 
    [controller setSubject:@"bericht van info"]; 
    [self presentModalViewController:controller animated:YES]; 
    [controller release]; 
} 
else { 

} 

Trả lời

10

hãy thử một điều .. Chuyển bạn r Mã khởi tạo MFMailComposeViewController bên trong khối canSendMail.

0

Bạn có thể kiểm tra xem thiết bị có thể gửi email với

[MFMailComposeViewController canSendMail]

Và, nếu không muốn nói, hiển thị hộp thoại ở bên em

+0

Tôi biết về cảnh báo nó trả về tôi muốn thay đổi. Nó trả về một cảnh báo tiêu chuẩn với tiêu đề: "Không có tài khoản thư" và tin nhắn: "Xin vui lòng thiết lập một tài khoản Mail để gửi email". Tôi muốn thay đổi cảnh báo này nhưng tôi không chắc chắn như thế nào. Nếu tôi đặt một cảnh báo trong người khác nó chỉ trả về 1 cảnh báo nữa. – Dawid

+0

Cảnh báo đó được hiển thị bởi bộ điều khiển. Tôi không chắc chắn nếu bạn sẽ có thể thay đổi nó. Tôi nghĩ rằng đó là một cách tiếp cận tốt nhất để thử đoán xem bạn có thể gửi thư hay không. – HyLian

+0

nhận câu trả lời. Cảm ơn bạn anyway. – Dawid

4

Di chuyển alloc của 'MFMailComposeViewController' bên trong nếu:

if ([MFMailComposeViewController canSendMail]) { 
    MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init]; 
    controller.mailComposeDelegate = self; 
    controller.navigationBar.tintColor = [UIColor grayColor]; 
    NSArray *toRecipients = [NSArray arrayWithObject:@"[email protected]"]; 
    [controller setToRecipients:toRecipients]; 
    [controller setSubject:@"bericht van info"]; 
    [self presentModalViewController:controller animated:YES]; 
    [controller release]; 
} else { 
    // Display custom alert here. 
} 
Các vấn đề liên quan