How to move UIButton programmatically. Objective-C Xcode
Solution 1
Simply uncheck "Use Autolayout" in the file inspector..
Solution 2
.h file
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController{
IBOutlet UIButton *theButton;
}
@property(nonatomic, strong) IBOutlet UIButton *theButton;
-(IBAction)moveTheButton:(id)sender;
@end
.m file
-(IBAction)moveTheButton:(id)sender{
CGRect btFrame = theButton.frame;
btFrame.origin.x = 90;
btFrame.origin.y = 150;
theButton.frame = btFrame;
}
This code moves the button from one point to another.
Solution 3
Replace your code by the below, which includes code to remove auto resizing mask.
CGRect btFrame = answerButton.frame;
btFrame.origin.x = xOne;
btFrame.origin.y = yOne;
answerButton.autoresizingMask = UIViewAutoresizingNone;
answerButton.frame = btFrame;
SamBo
Updated on January 23, 2020Comments
-
SamBo over 4 years
I've seen some solutions, none of which have worked for my issue.
I have a
UIButton
created by simply drag/dropping into theUIViewController
in Storyboard editor.The
UIButton
has an outlet linked to the .h file for theUIViewController
associated to that view. It is also Synthesized in the.m
file.@property (strong, nonatomic) IBOutlet UIButton *answerButton;
I want to change the location of the button during run time like this;
CGRect btFrame = answerButton.frame; btFrame.origin.x = xOne; btFrame.origin.y = yOne; answerButton.frame = btFrame;
However whenever I try this, the button refuses to move.
All other editing functions (like
setTitle
etc) are functional, but for some reason the frame won't move how I want it to. -
Paramasivan Samuttiram over 11 yearsDid you NSLog xOne, yOne and check what it is?