如何创建自定义导航栏

时间:2012-12-27 04:28:48

标签: ios xcode xcode4

我正在尝试创建自定义底部导航栏,但我不希望它是矩形样式。我只想要一个大圆圈(它将是一个图像),用户可以点击它作为按钮。

我知道我可以自定义底栏的样子,但我不知道如何在中心添加图像并使其溢出栏的原始边界。现在我有类似的东西

UIBarButtonItem *item3 = [[UIBarButtonItem alloc]
                          initWithBarButtonSystemItem:UIBarButtonSystemItemOrganize
                          target:self
                          action:nil];

NSArray *items = [NSArray arrayWithObjects:item1, flexibleSpace, item2, flexibleSpace, item3, nil];

self.toolbarItems = items;`

这是一张图片。谢谢! enter image description here

2 个答案:

答案 0 :(得分:1)

制作自定义导航栏需要大量工作,因此您可以在图像上创建自定义按钮,当用户点击它时,将更改图像或操作(图像警告上的用户“点按”弹出:):

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController {
    IBOutlet UIImageView *onlyImageVIew;
    BOOL firstImage;
}
@property (nonatomic, retain) UIImageView *onlyImageVIew;
-(IBAction)buttonClicked;
@end

ViewController.m

@implementation ViewController
@synthesize firstImage, secondImage;

- (IBAction)buttonClicked {
    if (firstImage == YES) {
        onlyImageView.image = [UIImage imageNamed:@"yourImage.png"];
        firstImage == NO
    }
    else {
        onlyImageView.image = [UIImage imageNamed:@"yourSecondImage.png"];
        firstImage == YES
    }
}

- (void)viewDidLoad {
    [super viewDidLoad];

    // when view loaded, load the first image only.
    firstImage = YES;
    onlyImageView.image = [UIImage imageNamed:@"yourLaunchImage.png"];
}

答案 1 :(得分:0)

尝试我通常接受的自定义UINavigationBar

的步骤

1.在整个项目中,在appdelegate课程中隐藏导航栏。

2.在UIImageView的位置添加UINavigationBar所需的图片。

3.在图片视图上的所需位置添加UIButton,您可以根据需要添加按钮图片。

4.单击按钮,自己按UIViewController

这是创建自定义导航栏的唯一方法,唯一的不便是,您需要自己推送UIViewControllers

此致