2010-07-12 57 views
0

我有一個應用程序運行一個計時器,並執行每秒30次的動作。我想要做的就是改變一個UIButton的大小,這樣每次計時器周而復始時,它就會更改UIButton,使它稍小一些。我玩過很多我在網上找到的東西,但我仍然無法弄清楚。收縮UIButton

任何想法?

+0

你需要用計時器或調整按鈕幫助嗎? – 2010-07-12 18:07:07

+0

你不能使用UIViewAnimation來達到這個目的嗎? – tonklon 2010-07-12 18:10:21

+0

......以及你玩過什麼類型的東西?你可以包括你已經嘗試過的一些代碼嗎? – Eric 2010-07-12 18:11:39

回答

0

嘗試類似:

CGRect tempFrame = myButton.frame;  
myButton.frame = CGRectInset(tempFrame,5,5); 
1

因此,移動評論了 - 這是一般你想要做什麼?

-(void) calledWhenTimerGoesRound 
{ 
    NSLog(@"calledWhenTimerGoesRound"); 
    [UIView beginAnimations:nil context:@"MyAnimation"]; 

    CGRect tempFrame = myButton.frame; 
    tempFrame.size.width = tempFrame.size.width - 5.0f; 
    tempFrame.size.height = tempFrame.size.height - 5.0f; 
    myButton.frame = tempFrame; 

    [UIView commitAnimations]; 
} 

你的計時器代碼是什麼樣的?下面是和例如什麼應該工作(調整按鈕的大小更小每秒):

- (void) startMyTimer 
{ 
    NSTimer *timer = [NSTimer timerWithTimeInterval:1 target:self selector:@selector(calledWhenTimerGoesRound) userInfo:nil repeats:YES]; 

    [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes]; 
} 
+0

是的,我認爲這可能會讓按鈕在每次定時器周圍都變小,但它不會。 – evenodd 2010-07-12 18:40:13

+0

您是否使用Xcode的調試器檢查「myButton'不是'nil'? – jrtc27 2010-07-12 18:47:03

+0

它不是,我使用myButton來做其他事情,比如隨着計時器四處移動屏幕周圍的按鈕並且它工作正常。 – evenodd 2010-07-12 18:49:55