Перемещение UIB-кнопок в коде - PullRequest
0 голосов
/ 20 ноября 2011

У меня есть код, который говорит, что при нажатии кнопки, приведенная ниже кнопка перемещается вниз. Я хочу знать, возможно ли сделать так, чтобы при повторном нажатии кнопки нижняя кнопка возвращалась в исходное положение.

.h

@interface ViewController : UIViewController  {

IBOutlet UIButton *button;
}

-(IBAction)buttonClicked:(id)sender;
-(IBAction)buttonClicked1:(id)sender;

@end

.m

- (void)buttonClicked:(id)sender {
CGRect frame = button.frame;
frame.origin.x = 65; // new x coordinate
frame.origin.y = 130; // new y coordinate
button.frame = frame;
}

1 Ответ

1 голос
/ 20 ноября 2011

Вы можете использовать BOOL для отслеживания состояния и сохранения startRect для перемещения кнопки назад

.h

@interface ViewController : UIViewController  {
BOOL buttonShifted;
CGRect startRect;
IBOutlet UIButton *button;
}

-(IBAction)buttonClicked:(id)sender;
-(IBAction)buttonClicked1:(id)sender;

@end

.m

// make sure to set the original button frame when view loads
// ie startRect = button.frame;

- (void)buttonClicked:(id)sender {
if (buttonShifted) {
    button.frame = startRect;
} else {
    CGRect frame = button.frame;
    frame.origin.x = 65; // new x coordinate
    frame.origin.y = 130; // new y coordinate
    button.frame = frame;
}
    buttonShifted = !buttonShifted;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...