0

我想做一个shift键。当我单击它时,键将变为其他字母。在 iphone 中单击此 shift 按钮时如何使其变亮?你能给出一些示例代码吗?

4

1 回答 1

2

如果您希望在点击时更改按钮的图像,然后再返回,您可以使用 -[setImage:forState:] 方法。对于此示例,假设您有 2 个图像:分别用于未按下和按下的图像的 image_one.png 和 image_two.png。

假设你有一个这样的按钮:

UIButton *button = [[UIButton alloc] init];
[button setFrame:CGRectMake(0, 0, 100, 44)];
[button setImage:[UIImage imageNamed:@"image_one.png"] forState:UIControlStateNormal];
[[self view] addSubview:button];

您可以添加将来回更改图像的目标和操作。要查看它当前是哪个图像,我会使用 tag 属性。

[button setTag:0]; // initial, non pressed button tag, for this example
[button addTarget:self action:@selector(swapImage:) forControlEvents:UIControlEventTouchUpInside];

并且在 setImage 方法中有如下内容:

-(void)swapImage:(UIButton *)sender {

    if ([sender tag] == 0) {

        [sender setTag:1]; // pressed tag, for example
        [sender setImage:[UIImage imageNamed:@"image_two.png"] forState:UIControlStateNormal];

    } else {

        [sender setTag:0]; // non-pressed tag, for example
        [sender setImage:[UIImage imageNamed:@"image_one.png"] forState:UIControlStateNormal];

    }

}

当您第一次点击按钮时,它会选择。再次点击它会取消选择它 - 就像键盘的 shift 按钮一样。

于 2012-09-06T02:45:35.593 回答