ios – 将UiBarButtonItem上的UIImage从标识符更新为图像

ios – 将UiBarButtonItem上的UIImage从标识符更新为图像,第1张

概述我目前正在为 IOS申请,但我无法更改图片……真可惜…… 情况是这样的: 我有一个包含我的项目的工具栏,其中一个项目是根据标识符“Play”创建的播放按钮.所以我有没有问题的播放按钮.现在我只想在点击项目然后再次切换等时将其更改为暂停图像. 所以我喜欢我的.h项目给我: @property (weak, nonatomic) IBOutlet UIBarButtonItem *play; 我尝试了 我目前正在为 IOS申请,但我无法更改图片……真可惜……

情况是这样的:
我有一个包含我的项目的工具栏,其中一个项目是根据标识符“Play”创建的播放按钮.所以我有没有问题的播放按钮.现在我只想在点击项目然后再次切换等时将其更改为暂停图像.
所以我喜欢我的.h项目给我:

@property (weak,nonatomic) IBOutlet UIbarbuttonItem *play;

我尝试了很多我在这个网站上找到的答案,但没有一个能对我的案子起作用:/
我尝试的最后一个是这样的:

UIbutton *button1=[UIbutton buttonWithType:UIbuttonTypeCustom];[button1 setFrame:CGRectMake(10.0,2.0,45.0,40.0)];[button1 addTarget:self action:@selector(showleft:) forControlEvents:UIControlEventtouchUpInsIDe];[button1 setimage:[UIImage imagenamed:@"pause.png"] forState:UIControlStatenormal];UIbarbuttonItem *button = [[UIbarbuttonItem alloc]initWithCustomVIEw:button1];self.play = button;

我也尝试过:

self.play.customVIEw = button1;

但是它们都没有真正起作用,我可以通过这样做来获得图像

self.vIEw = button1;

但是在屏幕中间只有图片(所以UIImage的创建是可以的)所以….

(如果你也可以告诉我如何使用标识符返回游戏,那么非常感谢非常有用)

谢谢你的帮助.

解决方法 我认为这应该有效.
-(IBAction)buttonClick:(UIbarbuttonItem *)sender {    if ([[sender backgroundImageForState:UIControlStatenormal barMetrics:UIbarMetricsDefault] isEqual:[UIImage imagenamed:@"Play.jpg"]]) {        [sender setBackgroundImage:[UIImage imagenamed:@"Pause.jpg"] forState:UIControlStatenormal barMetrics:UIbarMetricsDefault];    }else{        [sender setBackgroundImage:[UIImage imagenamed:@"Play.jpg"] forState:UIControlStatenormal barMetrics:UIbarMetricsDefault];    }}

当然,您必须最初(在vIEwDIDLoad中)将背景图像设置为“Play”图像才能使其生效.

编辑后:

如果你想使用系统播放和暂停按钮,据我所知,你必须更换按钮.我认为没有办法改变图像.所以,我这样做了.该按钮在IB中设置了插座playPausebutton和动作playClick.我还为工具栏(toolbar)做了一个出口.

-(IBAction)playClick:(UIbarbuttonItem *)sender {    UIbarbuttonItem *pause = [[UIbarbuttonItem alloc] initWithbarbuttonSystemItem:UIbarbuttonSystemItemPause target:self action:@selector(pauseClick:)];    NSMutableArray *tbItems = [self.toolbar.items mutablecopy];    [tbItems removeObject:self.playPausebutton];    self.playPausebutton = pause;    [tbItems addobject:pause];    self.toolbar.items = tbItems;}-(voID)pauseClick:(UIbarbuttonItem *)sender {    UIbarbuttonItem *play = [[UIbarbuttonItem alloc] initWithbarbuttonSystemItem:UIbarbuttonSystemItemPlay target:self action:@selector(playClick:)];    NSMutableArray *tbItems = [self.toolbar.items mutablecopy];    [tbItems removeObject:self.playPausebutton];    self.playPausebutton = play;    [tbItems addobject:play];    self.toolbar.items = tbItems;}
总结

以上是内存溢出为你收集整理的ios – 将UiBarButtonItem上的UIImage从标识符更新为图像全部内容,希望文章能够帮你解决ios – 将UiBarButtonItem上的UIImage从标识符更新为图像所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1103298.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存