【发布时间】:2014-06-15 08:20:56
【问题描述】:
我是IOS新手,点击按钮时尝试更改按钮的图像。
但是按钮的图像没有改变,代码如下:
- (IBAction)modeChangeClick:(id)sender {
NSLog(@"recordMode = %hhd" , recordMode);
if(recordMode == YES){
[self.modeChangeButton setImage:[UIImage imageNamed:@"photomode.png"] forState:UIControlStateNormal];
[self.view addSubview:self.modeChangeButton];
recordMode = NO;
}else if(recordMode == NO){
[self.modeChangeButton setImage:[UIImage imageNamed:@"recordmode.PNG"] forState:UIControlStateNormal];
[self.view addSubview:self.modeChangeButton];
recordMode = YES;
}
}
上面的代码有问题吗?
提前致谢。
------------编辑----------- --
-
(void)viewDidLoad {
UIButton *modeChangeButton = [[UIButton alloc] initWithFrame:CGRectMake(200, 450, 60, 60)]; [modeChangeButton setBackgroundImage:[UIImage imageNamed:@"recordmode.PNG"] forState:UIControlStateNormal];
[self.view addSubview:modeChangeButton];}
-
(IBAction)modeButtonClick:(id)sender { if (recordMode == YES) {
[self.modeChangeButton setBackgroundImage:[UIImage imageNamed:@"photomode.png"] forState:UIControlStateNormal]; recordMode = NO;}else if (recordMode == NO){
[self.modeChangeButton setBackgroundImage:[UIImage imageNamed:@"file_viewer.png"] forState:UIControlStateNormal]; recordMode = YES;} }
当我单击按钮时,图像发生了变化。
但是我在Viewdidload 添加的第一张图片仍然存在...
问题1
当我点击button时,如何删除我在Viewdidload中添加的第一张图片???
问题2
我可以在单击按钮时修复图像的大小吗? (就像按钮的大小一样或固定重量和高度)???
左边的图片是什么都没有。 右边的图片是当我按下按钮的图像时。它不会改变任何事情。
当我单击图像的一侧时图像会发生变化(不是在图像上)
【问题讨论】:
-
为什么每次点击时都将按钮重新添加为
self.view的子视图? -
所以...不需要使用self.view addSubview:self.modeChangeButton]; ???
标签: ios objective-c uibutton