ios - navigationItem 上的 UIImageView 尺寸错误

标签 ios objective-c xcode

我想在导航栏上添加图片,但尺寸不对。

UIImageView* menuButton=[[UIImageView alloc]initWithFrame:CGRectMake(4, 7, 20, 20)];
    menuButton.image=[UIImage imageNamed: Model.icon.MapList];
    UIBarButtonItem *accountBarItem = [[UIBarButtonItem alloc] initWithCustomView:menuButton];
    self.navigationItem.leftBarButtonItem = accountBarItem;

我似乎无法控制图像的尺寸,因为当我更改 initWithFrame 的值时,没有任何变化。

此外,此问题仅出现在 iPhone 5 以上型号的 iPhone 上。

我错过了什么?

最佳答案

您可以只使用简单的按钮并为其设置图像。

UIButton *b = [UIButton buttonWithType:UIButtonTypeCustom];
[b setFrame:CGRectMake(0.0f, 0.0f, 25.0f, 25.0f)];
[b addTarget:self action:@selector(randomMsg) forControlEvents:UIControlEventTouchUpInside];
[b setImage:[UIImage imageNamed: Model.icon.MapList] forState:UIControlStateNormal];

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:b];

self.navigationItem.leftBarButtonItem = item;

如果宽高比不对,可以用

[[b imageView] setContentMode: UIViewContentModeScaleAspectFit];

关于ios - navigationItem 上的 UIImageView 尺寸错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52476192/

相关文章:

ios - AudioKit 在 IOS 上连接外部蓝牙麦克风

ios - 通过应用内购买将现有的 iOS 付费应用转换为免费增值模式

ios - Realm Swift 添加具有字符数 > 1874 的 String 属性的对象崩溃

ios - UINavigationBar 在 AppDelegate.swift 中设置自定义阴影

iphone - 如果字符串不需要很漂亮,我应该使用哪种编码将 NSData 转换为 NSString 以及向后转换?

android - 跨平台程序获取 iOS 应用程序到 android/google play 商店?

ios - Xcode 5 模拟器空白白屏

ios - 让 CIColorCube 过滤器在 Swift 中工作

objective-c - 保留静态数组会导致非弧项目泄漏吗?

iphone - ios SDK命令行工具