Почему UIBarButtonItem не показывает изображение на Iphone 4 - PullRequest
0 голосов
/ 16 июля 2010

Я пытаюсь добавить кнопку перезагрузки на панель навигации с помощью этого кода

- (void)viewDidLoad 
 {

   [super viewDidLoad];

   UIButton *butt = [UIButton buttonWithType:UIButtonTypeCustom];   
   [butt setImage:[UIImage imageNamed:@"reload.png"] forState:UIControlStateNormal];
   [butt addTarget:self action:@selector(reloadNews) forControlEvents:UIControlEventTouchUpInside];

   UIBarButtonItem *reloadButton = [[UIBarButtonItem alloc]initWithCustomView:butt];
   self.navigationItem.rightBarButtonItem = reloadButton;
   [reloadButton release]; 

}

, который отлично работает на устройстве iPhone 3GS (с iOS4), но не показывает png на симуляторе и iPhone4 устройства (также iOS4).Есть идеи?

Кстати: это не зависит от того, как я держу телефон; -)

1 Ответ

0 голосов
/ 16 июля 2010

Исправлено, установив рамку так:

- (void)viewDidLoad 
 {

   [super viewDidLoad];

   UIButton *butt = [UIButton buttonWithType:UIButtonTypeCustom];   
   [butt setImage:[UIImage imageNamed:@"reload2.png"] forState:UIControlStateNormal];
   [butt addTarget:self action:@selector(reloadNews) forControlEvents:UIControlEventTouchUpInside];
   //added the following line
   butt.frame = CGRectMake(0, 0, 30, 30);

   UIBarButtonItem *reloadButton = [[UIBarButtonItem alloc]initWithCustomView:butt];
   self.navigationItem.rightBarButtonItem = reloadButton;
   [reloadButton release];  

}
...