0

アプリで BCGieEffect を使用したいと考えています。github からデモの例をダウンロードします。 https://github.com/Ciechan/BCGenieEffect

この例では xib が使用され、4 つの UIButtons が xib と共に使用されます。このコードを xib なしで 1 つのボタンのみに使用したい。ビューをドラッグしたくないので、そのコードを削除します。

UIButton が 1 つあります。

UIButton *Pop_Hidebtn = [[UIButton alloc]initWithFrame:CGRectMake(290, 5, 15, 15)];
Pop_Hidebtn.backgroundColor = [UIColor clearColor];
[Pop_Hidebtn setImage:[UIImage imageNamed:@"close.png"] forState:UIControlStateNormal];

Pop_Hidebtn.titleLabel.textColor = [UIColor blueColor];
[Pop_Hidebtn addTarget:self action:@selector(Hidden_pop:) forControlEvents:UIControlEventTouchUpInside];  
[popup_View addSubview:Pop_Hidebtn];


-(void)Hidden_pop:(UIButton *)sender{

[self genieToRect:sender.frame edge:BCRectEdgeBottom];
}


// I modified this and it says-> UIButton may not respond to enumerateobjectsusingblock


- (void) genieToRect: (CGRect)rect edge: (BCRectEdge) edge
{
NSTimeInterval duration = 3.0;

CGRect endRect = CGRectInset(rect, 5.0, 5.0);

[help_Button enumerateObjectsUsingBlock:^(UIButton *button, NSUInteger idx, BOOL   *stop)     
{ 
help_Button.enabled = NO;
}];


if (self.viewIsIn) {

[popup_View_under2 genieOutTransitionWithDuration:duration startRect:endRect     startEdge:edge completion:^{
popup_View_under2.userInteractionEnabled = YES;

[help_Button enumerateObjectsUsingBlock:^(UIButton *button, NSUInteger idx,  BOOL  *stop) {
help_Button.enabled = YES;

}];
}];
} else {
popup_View_under2.userInteractionEnabled = NO;
[popup_View_under2 genieInTransitionWithDuration:duration destinationRect:endRect   destinationEdge:edge completion:
^{
[help_Button enumerateObjectsUsingBlock:^(UIButton *button, NSUInteger idx,  BOOL  *stop) {
button.enabled = YES;
}];}];
}
self.viewIsIn = ! self.viewIsIn;
}

この問題を解決するには?

4

1 に答える 1

0

この例では 4 つではなく 1 つのボタンしか使用していないため、 をenumerateObjectsUsingBlockオンにする必要はありません。help_Button単にhelp_Button.enabled = YES;OK です。

于 2013-01-29T14:45:12.807 に答える