我已經在代碼中編寫了幾個按鈕(在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