2013-03-06 3 views
0

У меня есть небольшая UIButton и установить фон для выбора состояния пути:Как расширить рамки UIButton в режиме выбора?

[button setBackgroundImage:[UIImage imageNamed:@"butBG.png"] forState:UIControlStateSelected]; 

butBG.png imageSize > button.frame. И я хочу, чтобы расширить UIButton.frame равную IMAGESIZE когда [button setSelected:YES]; После этого обратно в кадр, когда происхождения [button setSelected:NO];

Как я могу это сделать? Заранее спасибо за помощь!

+0

запроса не ясно. – Ganapathy

+1

использовать кнопку "btn.transform = CGAffineTransformMakeScale (1.0,1.0);" а YES и btn.transform = CGAffineTransformMakeScale (0.8.0.8); , в то время как NO – kb920

ответ

3

1) проверьте состояние кнопки на кнопке, используя btn.isSelected.

2) Если btn.isSelected истинно, тогда установите размер кнопки, аналогичный размеру изображения, иначе установите размер кнопки, который вы хотите в нормальном состоянии.

1

вы могли бы сделать категорию для кнопки и переопределить метод setSelected, чтобы изменить размер кадра кнопки в зависимости от состояния

1

Вы можете слушать состояние вашей кнопки и изменить его, когда он меняет

в viewDidLoad (или сделать эквивалент с помощью интерфейса строитель)

[button addTarget:self action:@selector(myButtonStateChanged:) forControlEvents:UIControlEventTouchDown]; 

[button addTarget:self action:@selector(myButtonStateChanged:) forControlEvents:(UIControlEventTouchUpInside | UIControlEventTouchUpOutside | UIControlEventTouchCancel)]; 

создать метод

- (IBAction)myButtonStateChanged:(UIButton *)sender { 
    if (sender.selected) { 
    sender.frame = BIG_SIZE_FRAME; 
    } 
    else { 
    sender.frame = NORMAL_SIZE_FRAME; 
    } 

} 
0
-(void)setButtonframe:(UIButton *)button 
{ 
    if (button.selected) 
    { 
     [button setFrame:largeFrame]; 

    } 
    else 
    { 
     [button setFrame:smallFrame]; 

    } 
} 

Звонок [self setButtonframe: отправитель]; в действии кнопки для этого нажмите

0

GO ...

- (IBAction)paymentBtnCliked:(id)sender { 

if ([sender isSelected]) { 
    // configure same object as per requirement 
    [paymentBtn setSelected:NO]; 
}else{ 
    // configure same object as per requirement 
    [paymentBtn setSelected:YES]; 

} 
} 
Смежные вопросы