gpt4 book ai didi

objective-c - 在 Xcode 中使用点击功能制作图像的最佳方式?

转载 作者:行者123 更新时间:2023-12-02 08:47:24 26 4
gpt4 key购买 nike

我正在尝试制作一款游戏,如果您点击某个东西,就会在您点击的地方显示一个 50X53 的小图像,我首先将 50x53 图像制作成一个按钮,当您触摸按钮时,按钮的背景会变为红色(模拟图像刚刚添加到那里)所以这里我的 viewController 上有大约 48 个按钮(6X8),每当我按下其中一个按钮时,背景就会变为红色,很简单,但现在我想做什么是让 UI 完全空白(您看不到任何按钮),然后当您按下给定区域时,图像会在您按下的那个小空间中弹出。我想而不是做

-(IBAction)imagePressed
{
sender.background=[UIColor redColor];
}


-(IBAction)imagePressedAgain
{
sender.background=[UIColor whiteColor];
}

我打算做类似的事情

-(IBAction)imagePressed
{
sender.image=@"whateverImage.png";
//I know this isn't the right syntax to change a buttons image (and i don't even know if i can change a buttons image) but anyways i was going to try to here
}
-(IBAction)imagePressedAgain
{
sender.image=@"imageThatIsJustAWhiteBackground";
}

所以我尝试这样做,然后心想,嗯,也许我不应该这样做,我是否应该使用一堆小的 UIImageViews 并将它们全部放在 interfaceBuilder 上?就像不是在屏幕上有 48 个按钮我会有 48 个 UIImageViews?然后我想我会为每个人添加一个点击手势识别器?或者我应该坚持我的旧计划并更改按钮图像?

(o,顺便说一句,我无法让图像与用户触摸屏幕的手指位置完全成比例显示,我必须将它放在一个有组织的网格中,所以我必须有 48 个这样的图像。)

最佳答案

如果您想保持您描述的类似网格的排列 (6x8),您可以执行以下操作:

 NSMutableArray *buttons = [[NSMutableArray alloc] init];

// Loop through and create 48 buttons at 50 x 53
for(int i = 0; i < 48; i++)
{
UIButton *pressMe = [UIButton buttonWithType:UIButtonTypeCustom];

[buttons addObject:pressMe];
pressMe.frame = CGRectMake(0, 0, 50, 53);
// Set background image for when button is selected
[pressMe setBackgroundImage:[UIImage imageNamed:@"selectedImage.png"] forState:UIControlStateSelected];
// Add target to toggle selected state of button
[pressMe addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
}

int col = 0;
int row = 0;
int maxPerRow = 6;
float spacingHorizontal = 50;
float spacingVertical = 53;

for(UIButton *view in buttons)
{
// position buttons in 6 x 8 grid
view.frame = CGRectMake(col * spacingHorizontal, row * spacingVertical, view.frame.size.width, view.frame.size.height);
[self.view addSubview:view];

if(col % maxPerRow == maxPerRow-1)
{
col = 0;
row++;
}
else
{
col++;
}
}

您可以看到重要的部分是为按钮设置所选图像。这将允许您在点击按钮时显示自定义图像。这是我测试的屏幕截图。如果你想要,我可以给你项目文件。

enter image description here

关于objective-c - 在 Xcode 中使用点击功能制作图像的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11438400/

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