Что означает эта строка кода?
UIButton* backButton = (UIButton *) [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"BackButtonTopBar.png"]];
Если вам нужно создать кнопку, вам необходимо сделать следующее.
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
а затем установить для него фоновое изображение.
Но, как я предпочитаю, чтобы создать расширение категории для UIBarButtonItem
как следующий
//UIBarButtonItem+YourPreferredName.h
+ (UIBarButtonItem*)barItemWithImage:(UIImage*)image title:(NSString*)title target:(id)target action:(SEL)action;
//UIBarButtonItem+YourPreferredName.m
+ (UIBarButtonItem*)barItemWithImage:(UIImage*)image title:(NSString*)title target:(id)target action:(SEL)action
{
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0.0, 0.0, image.size.width, image.size.height);
button.titleLabel.textAlignment = UITextAlignmentCenter;
[button setBackgroundImage:image forState:UIControlStateNormal];
[button setTitle:title forState:UIControlStateNormal];
[button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
// additional customizations here...
UIBarButtonItem* barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
return [barButtonItem autorelease];
}
Если импортировать UIBarButtonItem+YourPreferredName.h
, где вам это нужно, то вы можете использовать как:
UIBarButtonItem* backBarButtonItem = [UIBarButtonItem barItemWithImage:[UIImage imageNamed:@"YoutImageName"] title:@"YourTitle" target:self action:@selector(goBack:)];
, где goBack
может быть следующим:
- (void)goBack:(id)sender
{
// do stuff here
}
Надеюсь, что это поможет.
Взгляните на эту страницу: [foobarpig.com] (http://foobarpig.com/iphone/uinavigationbar-with-solid-color-or-image-background.html) ** ИЗМЕНИТЬ: ** Видимо не работает на iOS 5.0 – Frade