如何在导航栏的右侧添加UIImageView?

时间:2015-11-02 08:38:24

标签: ios iphone swift uiimageview uinavigationbar

我尝试在导航栏的最右侧显示UIImageView

我尝试在导航栏中添加 UIViewcontrol ,将其调整为尽可能大,然后向其添加UIImageView,尾随空格为0.

在故事板中它看起来不错但是当我在iPhone上运行应用程序时,图像和右侧之间有一个巨大的空间。

有没有办法删除这个空间?

编辑:
正如您所看到的,iPhone右侧有一个巨大的空间,不在故事板中。由于我试图只使用故事板,因此我无法显示任何代码。

Image iPhone

Image storyboard

3 个答案:

答案 0 :(得分:0)

使用方法 initWithImage:style:target:action:或使用 initWithCustomView:创建UIImageBarButton,并将其作为右侧栏按钮项添加到导航项:< / p>

    - (void)viewDidLoad {
        [super viewDidLoad];
        UIBarButtonItem *myBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"imageName"] style:UIBarButtonItemStyleBordered target:nil action:nil]; 
        self.navigationItem.rightBarButtonItem = myBarButtonItem;
    }

答案 1 :(得分:0)

创建自定义视图并将其分配给navigationItem.titleView

  - (void)viewDidLoad {
    [super viewDidLoad];
    UIView *temp = [[UIView alloc] initWithFrame:...]; 
    UIImage *image = [[UIImage alloc] initWithFrame:...];
    [temp addSubview:image];

    self.navigationItem.titleView = temp;
}

答案 2 :(得分:0)

将下面的代码用于带图像的右键:

    UIButton *btn = [UIButton alloc] initWithFrame:...];
    [btn setImage:[UIImage imageNamed:@"..."] forState:UIControlStateNormal];
    UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithCustomView:btn];
    self.navigationItem.rightBarButtonItem = rightButton;