我想做一个shift键。当我点击它时, key 会变成其他字母。像在 iphone 中单击此 shift 按钮时,如何使它变亮?你能给出一些示例代码吗?
最佳答案
如果您希望按钮的图像在点击时改变,然后返回,您可以使用 -[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];
您可以添加一个目标和 Action 来来回改变图像。要查看当前是哪个图像,我会使用标记属性。
[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 按钮一样。
关于iphone - 单击时如何使按钮变亮(如单击 iphone 中的 shift 键),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12292231/