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的建议解决了此问题:)