我想做一个shift键。当我单击它时,键将变为其他字母。在 iphone 中单击此 shift 按钮时如何使其变亮?你能给出一些示例代码吗?
问问题
199 次
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 回答