Как установить изображение элемента навигации (например, кнопки отправки) в контроллере MFMailComposer - PullRequest
0 голосов
/ 03 февраля 2012

Я хочу установить изображение элемента навигации (кнопка отправки) в контроллере MFMailComposer, и я пишу код так.]];

но это не изменится. Я изменяю, потому что моя кнопка отправки не работает с этим кодом ..

   UIBarButtonItem *sendBtn=picker.navigationBar.topItem.rightBarButtonItem;
   UIButton *btn2=[UIButton buttonWithType:UIButtonTypeCustom];
   btn2.frame=CGRectMake(280, 2, 55, 30);
   [btn2 setImage:[UIImage imageNamed:@"images (2).jpeg"]forState:UIControlStateNormal];
   btn2.backgroundColor=[UIColor clearColor];
   [btn2 addTarget:sendBtn.target action:sendBtn.action forControlEvents:UIControlEventTouchUpInside];
   UIBarButtonItem *btnTemp2=[[UIBarButtonItem alloc]initWithCustomView:btn2];
   [[[[picker viewControllers]lastObject] navigationItem] setRightBarButtonItem:btnTemp2];

Но у моей кнопки отмены есть код

UIBarButtonItem *cancelBtn= picker.navigationBar.topItem.leftBarButtonItem; UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeCustom]; btn1.frame = CGRectMake(20, 2, 60, 30); [btn1 setImage:[UIImage imageNamed:@"btn_tellAFriend_cancel@2x.png"]forState:UIControlStateNormal];<br> btn1.backgroundColor=[UIColor clearColor]; [btn1 addTarget:cancelBtn.target action:cancelBtn.action forControlEvents:UIControlEventTouchUpInside];<br> UIBarButtonItem *btnTemp = [[UIBarButtonItem alloc] initWithCustomView:btn1];<br> [[[[picker viewControllers] lastObject] navigationItem] setLeftBarButtonItem:btnTemp]; [btnTemp release];

Работает нормально

Ответы [ 2 ]

1 голос
/ 03 февраля 2012

Кнопка отправки MFMailComposeViewController не может быть изменена и не должна изменяться в соответствии с Apple

Единственное, что вы можете сделать, это изменить цвет оттенка панели навигации MFMailComposeViewController, который также изменит цвет кнопки отправки

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    [[picker navigationBar] setTintColor:[UIColor redColor]];
0 голосов
/ 03 февраля 2012

Попробуйте этот код.

[self.navigationController.navigationBar setTintColor:[UIColor blackColor]];
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"navbar_logo.png"]];
[imageView sizeToFit];
imageView.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin |
                              UIViewAutoresizingFlexibleRightMargin |
                              UIViewAutoresizingFlexibleTopMargin |
                              UIViewAutoresizingFlexibleBottomMargin);
UIBarButtonItem *loadingView = [[UIBarButtonItem alloc] initWithCustomView:imageView];

loadingView.target = self;
self.navigationItem.rightBarButtonItem = loadingView;

[imageView release];
[loadingView release];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...