如何在 iPhone 中以编程方式仅使用一个 UIButton 使用 BCGenieEffect?

Posted

技术标签:

【中文标题】如何在 iPhone 中以编程方式仅使用一个 UIButton 使用 BCGenieEffect?【英文标题】:How to use BCGenieEffect programmatically and for only One UIButton, in iPhone? 【发布时间】:2013-01-25 07:24:06 【问题描述】:

我想在我的应用中使用 BCGenieEffect。我从 github 下载演示示例。 https://github.com/Ciechan/BCGenieEffect

在此示例中使用 xib,并且 4 个 UIButtons 与 xib 一起使用。我想在没有 xib 的情况下使用此代码,并且仅用于一个按钮。我不想拖动我的视图,这就是我删除该代码的原因。

我有一个 UIButton:

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;

如何解决这个问题?

【问题讨论】:

欢迎专家提出任何建议。 【参考方案1】:

由于您在示例中只使用了一个按钮而不是四个按钮,因此您无需在help_Button 上使用enumerateObjectsUsingBlock,只需help_Button.enabled = YES; 即可。

【讨论】:

以上是关于如何在 iPhone 中以编程方式仅使用一个 UIButton 使用 BCGenieEffect?的主要内容,如果未能解决你的问题,请参考以下文章

如何在iphone中以编程方式实现带有背景图像的按钮

在 iPhone 中以编程方式放大和缩小:如何设置动画速度?

如何在 iphone 中以编程方式创建 PLIST 文件

如何在iphone中以编程方式更改按钮文本

如何在iOS中以编程方式重新启动iPhone应用程序

如何在 iPhone 中以编程方式在 plist 文件中添加多个数组