Я решил проблему, разместив детали здесь, чтобы они могли быть полезны другим
1] created a UIButton, with custom image.
2] created a UIView, which will fit properly on UINavigationbar.
3] added UIButton on UIView.
4] created UIBarButtonItem with custom view.
вот код,
if (isPad) {
UIView *customView = [[UIView alloc] initWithFrame:CGRectMake(10, 0, 200, 200)];
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
backButton.frame = CGRectMake(0, 90, 120, 70);
[backButton setBackgroundImage:[UIImage imageNamed:@"BackButtonUnpressed-iPad_120X70.png"] forState:UIControlStateNormal];
[backButton setBackgroundImage:[UIImage imageNamed:@"BackButtonPressed-iPad_120X70.png"] forState:UIControlStateHighlighted];
[backButton addTarget:self action:@selector(backButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
[customView addSubview:backButton];
UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:customView];
self.navigationItem.leftBarButtonItem = buttonItem;
[customView release]; customView = nil;
[buttonItem release]; buttonItem = nil;
}else{
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
backButton.frame = CGRectMake(0, 0, 60, 35);
[backButton setBackgroundImage:[UIImage imageNamed:@"BackButtonUnpressed.png"] forState:UIControlStateNormal];
[backButton setBackgroundImage:[UIImage imageNamed:@"BackButtonPressed.png"] forState:UIControlStateHighlighted];
[backButton addTarget:self action:@selector(backButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.leftBarButtonItem = buttonItem;
[buttonItem release];
buttonItem = nil;
}