gpt4 book ai didi

ios - 为什么当我点击 Objective-C 中的按钮图像时发送者没有被调用?

转载 作者:行者123 更新时间:2023-11-29 03:00:25 25 4
gpt4 key购买 nike

我是 IOS 和 Objective-C 的新手,我尝试为 UIButton 设置 Image。当我单击按钮时,按钮将更改 image1。如果我再次点击按钮,它会变成image2

首先,我在 Viewdidload 中设置了 image,如下面的代码。

    @interface AITPreviewViewController ()
{
VLCMediaPlayer *mediaPlayer ;
BOOL recording ;
BOOL recordMode;
}
- (void)viewDidLoad
{
recordMode = YES;
UIButton *modeChangeButton = [[UIButton alloc] initWithFrame:CGRectMake(200, 450, 60, 60)];
[modeChangeButton setBackgroundImage:[UIImage imageNamed:@"recordmode.PNG"] forState:UIControlStateNormal];

[self.view addSubview:modeChangeButton];
}

当我点击按钮时,按钮会改变图像。代码如下:

- (IBAction)modeButtonClick:(id)sender {
NSLog(@"modeButtonClick..!!!!!!");

if (recordMode == YES) {
NSLog(@"modeButtonClick..%hhd = " , recordMode);
[self.modeChangeButton setBackgroundImage:[UIImage imageNamed:@"photomode.png"] forState:UIControlStateNormal];
recordMode = NO;

}else if (recordMode == NO){
NSLog(@"modeButtonClick..%hhd = " , recordMode);
[self.modeChangeButton setBackgroundImage:[UIImage imageNamed:@"recordmode.png"] forState:UIControlStateNormal];
recordMode = YES;
}

}

当我点击按钮上的图像时,按钮的图像颜色变暗。好像按钮被按下了。但是 - (IBAction)modeButtonClick:(id)sender 没有调用

当我点击空白处(图像的侧面)时,按钮被按下了。 - (IBAction)modeButtonClick:(id)sender 已被调用。并且图像也更改为其他图像。

我确定我已经在头文件.m文件中设置了 Action 。

上面的描述如下图。 enter image description here

好像按钮被图片覆盖了,图片和按钮不一样。为什么会这样??如何解决这个问题?

提前致谢。

最佳答案

您可以实现的一些更改:

首先:将 setBackgroundImage 更改为 setImage。例如:[self.modeChangeButton setImage: [UIImage imageNamed: @"recordmode.png"forControlState: UIControlStateNormal];

这样,如果您错误地为按钮设置了图像,这将覆盖它。

第二个:确保您已在界面构建器中连接引用 socket (IBOutlet) 和操作 (IBActions) - 无论是 XIB 文件还是 Storyboard。如果您不将那里的接口(interface)对象链接到代码中的接口(interface)对象,它们将无法工作。

第三:如果它仍然不起作用,请尝试将此行添加到您的 viewDidLoad

[self.modeChangeButton addTarget:self @selector(modeButtonClick:) forControlEvents:UIControlEventTouchUpInside];

第四:在您的 viewDidLoad 中更改此行:

UIButton *modeChangeButton = [[UIButton alloc] initWithFrame:CGRectMake(200, 450, 60, 60)];

到:

self.modeChangeButton = [[UIButton alloc] initWithFrame:CGRectMake(200, 450, 60, 60)];

这应该可以解决您的问题。

关于ios - 为什么当我点击 Objective-C 中的按钮图像时发送者没有被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23378603/

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