Ipad 如何以编程方式设置uibutton位置

Ipad 如何以编程方式设置uibutton位置,ipad,ios7,Ipad,Ios7,我是IOS开发新手。这里我在视图上有一个按钮,我将位置设置为动态。但它不起作用 Content_IPad.h @property (strong, nonatomic) IBOutlet UIButton *btnStart; Content_IPad.m @synthesize btnStart; -(void)viewDidLoad { [super viewDidLoad]; self.btnStart.frame = CGRectMake(500,715,46,30)

我是IOS开发新手。这里我在视图上有一个按钮,我将位置设置为动态。但它不起作用

Content_IPad.h

@property (strong, nonatomic) IBOutlet UIButton *btnStart;
Content_IPad.m

@synthesize btnStart;

-(void)viewDidLoad
{
    [super viewDidLoad];
    self.btnStart.frame = CGRectMake(500,715,46,30);
    [self.view addSubview:self.btnStart];
}
但这并不像我说的那样。谁能告诉我哪里出错了吗?

首先: 如果已将插座设置到视图控制器中并连接到插座属性,则无需再次添加子视图。从代码中删除该行

第二: 您可能正在使用自动布局。检查序列图像板/nib文件的文件检查器上的第一个选项卡。默认情况下,它处于选中状态。尝试取消选中它并再次运行项目

第三: 我强烈建议使用自动布局。至少不要硬编码数字,例如使用self.view.frame.origin.x或任何你需要的东西。这是使用故事板的主要原因,插座会自动放置在正确的位置

希望有帮助

试试这个:

- (void) viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
    self.btnStart.frame = CGRectMake(500,715,46,30);
}
更重要的是,如果您在界面生成器中添加按钮,并且不使用
removeFromSuperview
删除代码中的按钮,您应该不调用
[self.view addSubview:self.btnStart]


希望对您有所帮助

btnStart的alloc/init和其他设置在哪里?您使用的是自动布局吗?@Larme,我已经在UIViewController上拖放了UIButton。需要重新分配吗?@Magento007:不需要。但是你发布的代码没有反映出它是一个
IBOutlet
@Droppy,不需要。我没有设置自动布局。谢谢。现在它开始工作了。我用的是第二种方法。