2013-06-05 1 views
0

Я настраиваю MFMailComposeViewController, он отлично работает в ios 5.0 и ios 5.1, но не работает должным образом в ios 6. Пользовательская кнопка отправки и отмены не появляется в почтовом контроллере.MFMailComposeViewController customize

Мой кода:

sendBtn = mailer.navigationBar.topItem.rightBarButtonItem; 
cancelBtn = mailer.navigationBar.topItem.leftBarButtonItem; 
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigation.png"] forBarMetrics:UIBarMetricsDefault]; 

UINavigationItem *mailVCNavItem = [mailer.navigationBar.items objectAtIndex:0]; 

     // Get the old bar button item to fetch the action and target. 
UIBarButtonItem *oldCancelBarButton = [mailVCNavItem leftBarButtonItem]; 

     // Create your new custom bar button item. 
     // In my case I have UIButton with image set as a custom view within a bar button item. 
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
[backButton setImage:[UIImage imageNamed:@"cancel-button-hover.png"] forState:UIControlStateNormal]; 
[backButton addTarget:oldCancelBarButton.target action:oldCancelBarButton.action forControlEvents:UIControlEventTouchUpInside]; 
[backButton setFrame:CGRectMake(0, 0, 55, 28)]; 
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton]; 

UIButton *sendbtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
[sendbtn setImage:[UIImage imageNamed:@"send-btnComment.png"] forState:UIControlStateNormal]; 
[sendbtn addTarget:self action:@selector(sendMail:) forControlEvents:UIControlEventTouchUpInside]; 
[sendbtn setFrame:CGRectMake(0, 0, 55, 28)]; 
self.navigationItem.rightBarButtonItem =[[UIBarButtonItem alloc] initWithCustomView:sendbtn]; 
+2

Что вы подразумеваете под неправильной настройкой? Что такое сообщение об ошибке? –

+0

не отображается никаких ошибок, но пользовательская кнопка отправки и отмены не отображается в mailcontroller –

ответ

1

MFMailComposeViewController и связанные с ним обмен мнения Facebook и Twitter реализуются через удаленные контроллеры просмотра в прошивке 6. Это означает, что контроллеры работают в другом процессе, и это уже не возможно для их настройки путем прямого доступа к их свойствам или подзонам. Вы все еще можете сделать это через UIAppearence, но то, что вы пытаетесь заменить с помощью кнопок, больше не возможно в iOS 6.