2010-04-24 152 views
0

我在我的UIButton代码中使用了customview。与UIButton相关的问题

UIButton *button= [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain]; 
[button addTarget:self action:@selector(checkedimage:) forControlEvents:UIControlEventTouchUpInside]; 

-(IBAction)checkedimage:(id)sender 
{ 
NSLog(@"checkedimage"); 

if(checkImage == NO) 
{ 
    newImage = [UIImage imageNamed:@"a.png"]; 
    checkImage=YES; 
} 
else if(checkImage==YES) 
{ 
    newImage = [UIImage imageNamed:@"b.png"]; 
    checkImage=NO; 
} 
} 

,但是当我在UIButton的点击是不会行动checkedimage
为什么呢?

+0

你不会在视图中添加按钮,也没有按钮框架,所以设置所有这些东西.. – 2012-07-18 06:28:04

回答

0

您发布的代码没有任何问题。

您是否已将此按钮添加到视图?使用界面生成器?

我跑了基于你送什么这个测试代码,所有工作得很好:

- (void)viewDidLoad { 
[super viewDidLoad]; 
UIButton *button= [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain]; 
[button addTarget:self action:@selector(checkedimage:) forControlEvents:UIControlEventTouchUpInside]; 
button.frame = CGRectMake(100, 100, 120, 20); 
[self.view addSubview:button]; 
} 

-(IBAction)checkedimage:(id)sender { 
NSLog(@"checkedimage"); 
} 
1

您没有设置正确,并没有真正给了我们足够的信息来帮助你。

你有没有在你的代码中的任何地方创建了IBOutlet的类型UIButtonbutton的名字?如果你已经完成了这项工作,那么你是否将IB分配给正确的UIButton? 如果你已经这样做了,那么你真的不应该在代码中声明一个具有相同名字的新UIButton。它应该已经作为当前课程中的一个属性存在。

如果您还没有完成上述任何操作,则需要将您新创建的按钮添加到某个视图中,以使其可见。

我建议你阅读一些关于如何使用IB的基本教程。