单击时如何使按钮变亮(如点击iphone中的shift键)

时间:2012-09-06 02:36:36

标签: iphone ios uibutton uikeyboard

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

1 个答案:

答案 0 :(得分: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];

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

[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];

    }

}

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