gpt4 book ai didi

ios - UIAlertView 导致更改导航栏按钮的 titleLabel

转载 作者:可可西里 更新时间:2023-11-01 05:44:44 26 4
gpt4 key购买 nike

我在我的应用程序中观察到一个奇怪的趋势:每当显示警告消息时,导航栏按钮的标题值都会更改为其 Storyboard 标题值。这是 UIAlertView 之一:

navigation bar button title getting changed by alert view

上图中可见的标题值 100 是我的 Storyboard 中存在的值。我成功地将此栏按钮的值更改为此行的当前分数:

self.coinsRemainingButton.titleLabel.text = self.coinsRemaining;  

在我显示一些警报 View 之前一切正常。一旦显示任何 UIAlertView,无论当前分数如何,此导航栏按钮的标题都会更改为 100。对于前。即使我当前的分数是 500,一旦出现警告消息,我的栏按钮的值就会更改为 100,如上面的屏幕截图所示。
我已经彻底检查过了,我自己没有错误地更改值。
如果我删除 UIAlertView 行,一切都会按顺序恢复。
感谢您的宝贵时间。

更新 1:这是我的 UIAlertView 代码:

 UIAlertView *iapSuccessful = [[UIAlertView alloc] initWithTitle:@"Purchase Successful"
message:@"Congrats!! You just got coins"
delegate:Nil
cancelButtonTitle:@"Ok"
otherButtonTitles: nil];
[iapSuccessful show];

更新 2:我找不到解决方案,因此为了变通,我想在显示 UIAlertView 后立即通过代码更新我的栏按钮标题:

[iapSuccessful show];
self.coinsRemainingButton.titleLabel.text = self.coinsRemaining;

但 UIAlertView 仍在强行将栏按钮的标题更改为 Storyboard值。

最佳答案

我尝试了几种技巧来解决这个问题,但是一旦出现任何 UIAlertView,栏按钮项的值 (titleLabel.text) 就会更改为它的 Storyboard值.

我观察到,从 Storyboard 中绘制的导航栏对象的值发生了变化。所以我从 Storyboard 中删除了条形按钮项目并以编程方式添加了条形按钮,它解决了我的问题 :)
如果需要,这里是通过编程方式添加条形按钮项目的代码:

//Add a custom button as the right bar button item of navigation bar
self.coinsRemainingButton.frame = CGRectMake(0.00f, 0.00f, 72.00f, 37.00f);
[self.coinsRemainingButton setBackgroundImage:[UIImage imageNamed:@"coinsBackground"] forState:UIControlStateNormal];
[self.coinsRemainingButton setTitle:@"100" forState:UIControlStateNormal];
UIBarButtonItem *rightCustomBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:self.coinsRemainingButton];
self.navigationItem.rightBarButtonItem = rightCustomBarButtonItem;

关于ios - UIAlertView 导致更改导航栏按钮的 titleLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20097027/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com