2010-04-24 4 views
0

Я принял customview в своем коде для UIButton.Вопрос, связанный с 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 с типом UIButton и именем button? Если вы сделали это, чтобы вы в IB назначили IBOutlet правильному UIButton? Если вы это сделали, вы действительно не должны объявлять NEW UIButton в коде с тем же именем. Он должен уже существовать как свойство в текущем классе, в котором вы работаете.

Если вы еще не сделали ни одного из вышеуказанных действий, вам необходимо добавить новую созданную кнопку к виду где-нибудь, чтобы оно было видимым вообще.

Советую вам ознакомиться с некоторыми основными учебными пособиями о том, как использовать IB.