Ios 如何将UIImageView添加到导航栏的右侧?

Ios 如何将UIImageView添加到导航栏的右侧?,ios,iphone,swift,uiimageview,uinavigationbar,Ios,Iphone,Swift,Uiimageview,Uinavigationbar,我尝试在导航栏的最右侧显示一个UIImageView 我试图在导航栏中添加一个UIViewcontrol,尽可能地调整其大小,然后添加一个UIImageView,尾部空间为0 在故事板中看起来不错,但当我在iPhone上运行应用程序时,图像和右侧之间有一个巨大的空间 有没有办法把这个空间移走 编辑: 正如你所看到的,iPhone右侧有一个巨大的空间,而故事板上没有。因为我试着只用故事板来做,所以没有代码可以显示 使用方法initWithImage:style:target:action:或使用

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

我试图在导航栏中添加一个UIViewcontrol,尽可能地调整其大小,然后添加一个
UIImageView
,尾部空间为0

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

有没有办法把这个空间移走

编辑:
正如你所看到的,iPhone右侧有一个巨大的空间,而故事板上没有。因为我试着只用故事板来做,所以没有代码可以显示


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

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

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

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

    self.navigationItem.titleView = temp;
}

对带有图像的右按钮使用以下代码:

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

你有任何屏幕截图或示例代码吗?我添加了一些屏幕截图:)谢谢你的回答:)但是当我使用
uibarbuttoneim
时,它会将图像染成蓝色。有没有办法让图像保持原色?我能像截图中的图像一样绕过一个
uibarbuttoneim
的角落吗?我明白了。然后应该使用initWithCustomView方法。创建UIImageView,分配图像,圆角,从该图像视图创建UIImageBarButton并分配给rightBarButtonItem。通过将视图分配给navigationItem.title,您可以同时拥有标题标签和UIImageLabel非常感谢您的回答,但我按照kirander的建议解决了此问题:)