ios - 导航栏按钮未在真实设备上显示

标签 ios iphone simulator navigationbar

我有一个导航栏,右侧有三个按钮(导航箭头 + 共享按钮)。在 Iphone 模拟器上,我可以很好地看到它们,而且它们工作得很好。当我在真正的 Iphone 4 设备上安装应用程序时,按钮根本没有显示!!! (我的模拟器是 iPhone 3,如果有的话)。 我的代码是:

UIToolbar *tools = [[UIToolbar alloc]
                    initWithFrame:CGRectMake(0, 0, 70.0f,     44.01f)]; // 44.01 shifts it up 1px for some reason
tools.clearsContextBeforeDrawing = NO;
tools.clipsToBounds = NO;
tools.tintColor = [UIColor colorWithWhite:0.305f alpha:0.0f]; // closest I could get by eye to black, translucent style.
// anyone know how to get it perfect?
tools.barStyle = -1; // clear background


NSMutableArray *buttons = [[NSMutableArray alloc] initWithCapacity:3];

// Create a standard refresh button.
UIBarButtonItem *bi = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"share.png"] style:UIBarButtonItemStylePlain target:self action:@selector(shareClicked)];
//initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refresh:)];
[buttons addObject:bi];
[bi release];

// Create a spacer.
bi = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"scroll left.png"] style:UIBarButtonItemStylePlain target:self action:@selector(upClicked)];
//bi.width = 12.0f;
[buttons addObject:bi];
[bi release];

// Add profile button.
bi = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"scroll right.png"] style:UIBarButtonItemStylePlain target:self action:@selector(downClicked)];
//bi.style = UIBarButtonItemStyleBordered;
[buttons addObject:bi];
[bi release];

// Add buttons to toolbar and toolbar to nav bar.
[tools setItems:buttons animated:NO];
[buttons release];
UIBarButtonItem *twoButtons = [[UIBarButtonItem alloc] initWithCustomView:tools];
[tools release];
self.navigationItem.rightBarButtonItem = twoButtons;
[twoButtons release];

最佳答案

我遇到了类似的问题。

在我的例子中,出于某种原因,.png 文件已从项目和项目的工作目录中删除。因此,它不再包含在复制捆绑资源中。

不过很奇怪,显然它还在模拟器上。在我的例子中,它甚至还在调试设备上。但是当为临时分发构建一个 boulde 时,它​​不在。结果是完整的按钮(导航栏中的栏按钮项目)没有出现。用户无法调用与其关联的操作。

首先,我从模拟器中删除了该应用程序。我都试过了,从模拟器的 gui 和文件系统/Users//Library/Application Support/iPhone Simulator/5.0/Applications/(app id)/... 中删除了它。在这两种情况下,在模拟器上运行应用程序都会重新安装未使用的 .png 文件和许多其他有意从我的 xcode 项目中删除的文件。

然而,最终的解决方案是将png文件再次包含在xcode项目中并将其分配给所有相关目标。就我而言,无论如何我都打算更改图形,所以我包含了新文件而不是旧文件。但我确信这个细节无关紧要。

简短版本: 1. 如果您的 png 文件仍然是项目的一部分,则将其删除。也从项目文件夹中删除 ist,只是为了保存。 2.将png文件重新包含到项目中。 3. 创建您的构建并在空设备上试用。

关于ios - 导航栏按钮未在真实设备上显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7221264/

相关文章:

ios - iBeacons 发送和接收 UUID

iphone - 翻转 CAEAGLLayer 以在 OpenGL ES 2 中呈现的最佳方法

R中的随机样本

iOS - 如何在模拟器 11.2 上测试 iPhone5C

iphone - Xcode 4.2.3 应用程序无法在 iPhone 4S 上运行

python - 在python中更新字典的整数值

ios - 在 UIBezierPath 的两侧应用阴影

ios - Cocos2D + Box2D 编辑器?

ios - 在代码中设置 UIWebView 的高度

iphone - UIImage 的宝丽来滤镜