Изменение ширины UIButton с помощью анимации - PullRequest
1 голос
/ 11 августа 2011

Вот мой код,

-(IBAction)casser{
     oeuf1.contentMode       =   UIViewContentModeScaleAspectFit;
    [UIView animateWithDuration:1.0 animations:^{ 
         CGRect newRect      =   oeuf1.frame;
         newRect.size.width *=   5;
         oeuf1.frame         =   newRect;
         [oeuf1 release];
    }];
}

"oeuf1" - это UIButton. Я хочу умножить его ширину на пять, когда я нажимаю кнопку, но когда я это делаю, кнопка перемещается вправоширина не меняется.Как я могу решить это?

Ответы [ 3 ]

0 голосов
/ 11 августа 2011

Протестированный код 100% работает

соединить каждый метод с указанным

-(IBAction)expand{//touch down


    NSLog(@"expand");

    [UIView transitionWithView:but duration:0.0 options:UIViewAnimationOptionTransitionNone animations:^(void) {


        CGRect newRect = but.frame;

        CGPoint ce= but.center;
        newRect.size.width *= 5;

        but.frame = newRect;    

        but.center=ce;



    } completion:^(BOOL finished) {



    }];


}

 -(IBAction)shrink{//touch up inside
    NSLog(@"shrink");


    [UIView transitionWithView:but duration:0.0 options:UIViewAnimationOptionTransitionNone animations:^(void) {


        CGRect newRect = but.frame;

        CGPoint ce= but.center;
        newRect.size.width /= 5;

        but.frame = newRect;    

        but.center=ce;



    } completion:^(BOOL finished) {



    }];


}
0 голосов
/ 11 августа 2011

Рабочий ответ:

Удалить [oeuf1 release];

0 голосов
/ 11 августа 2011

Почему бы вам просто не использовать

[oeuf1 setFrame:CGRectMake(oeuf1.frame.origin.x, oeuf1.frame.origin.y, oeuf1.frame.size.width*2, oeuf1.frame.size.height)];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...