我已经在代码中编写了几个按钮(在for循环中)。如果用户触摸并拖动其中一个按钮,我想对按钮框架进行动画处理,然后将其删除(所以有点像正常OS X Dock的行为,如果您踢出应用程序)。如何通过其标签操纵UIButton的框架?
我的问题是,我不知道如何访问按钮的框架:我只有标签的按钮,因为这是所有传递给删除方法。 如果我只有一个按钮的标签,我该如何操作框架?
这是到目前为止我的代码:
for (int k=0; k < numberOfTabs; k++) // k < 4 (e.g. 3 < 4)
{
UIButton* btn = [[[UIButton alloc] initWithFrame:frame] autorelease];
btn.tag = k;
btn.frame = CGRectMake(-10, 0, buttonWidth, buttonHeight);
[btn addTarget:self
action:@selector(tabAction:)
forControlEvents:UIControlEventTouchUpInside];
[btn addTarget:self
action:@selector(tabDelete:)
forControlEvents:UIControlEventTouchDragOutside];
...
这是我tabDelete方法至今:
-(void)tabDelete:(id)sender
{
NSInteger tid = ((UIControl*)sender).tag;
NSLog(@"buttonTag about to be deleted has the tag: %i", tid);
}
把你的按钮在数组中。 – 2011-05-01 12:44:54
在你的委托方法中,'sender'parameter _is_你的按钮。您可以像访问其“标签”一样访问其“frame”属性。 – albertamg 2011-05-01 12:58:54