如何在 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?的主要内容,如果未能解决你的问题,请参考以下文章