2010-10-17 172 views
1

我试图以编程方式创建按钮,并且无法更改原点。这里是代码:无法更改UIButton原点

UIButton *newButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
newButton.frame = CGRectMake(100, 200, 150, 50); 
[newButton setTitle:@"Hi There" forState:UIControlStateNormal]; 
[self.view addSubview:newButton]; 

该按钮显示,但集中在屏幕上,而不是我指定的原点。如果我运行一个NSLog来显示帧数,我得到0,0,150,50。更改大小数字的作品,但不是原始数字。我也尝试复制框架,改变原点,然后把新框架放在动画块内(只是为了看看我是否可以修改原点)。动画块工作,我可以改变其他项目(如阿尔法),但没有与框架。

我错过了什么?

回答

3

我不确定你为什么看到这种行为,但试着设置center属性,看看会发生什么。它可能会产生一些见解。

此外,尝试创建并显示按钮后设置属性,以查看它是否是一个操作顺序的事情。

+0

是的,设置中心的作品。只是奇怪,因为我可以找到的所有代码示例建议设置原点也应该工作。更改框架的尺寸部分工作(拉伸按钮),但不是原点。叹。但是,谢谢,好建议。 – 2010-10-17 21:03:14

0

所有我能想到的是,正在接收子视图视图居中和大小相同的按钮。

+0

绝对是一个不同的大小 - 我甚至用这个代码尝试了一个空白项目,它也在做同样的事情。但马塞洛的建议很有效。奇怪的。 – 2010-10-17 21:03:56