UIView内容的错位

时间:2011-09-07 12:31:04

标签: iphone subview

我有一个UIViewUIButton(在RootViewcontroller的viewDidLoad:方法中声明。)。

UIView  *geopointView = [[UIView alloc] initWithFrame:CGRectMake(0, 320, 120, 100)] ;
UIButton *mybutton = [[UIButton alloc] initWithFrame:CGRectMake(0, 330, 120, 30)] ;

mybutton已添加到geopointView。

  [geopointView addsubView:mybutton];

最后在方法showTheView(在rootViewController中定义)中将UIView添加到RootViewController中

-(void) showTheView{
    [self.view addsubView:geopointView];
}

但是当调用此方法时,我发现mybutton和geopointView都是可见的,但是mybutton并没有放在geopointView中。 mybutton的界限现在显示为CGRectmake(10, 250, 120, 30);

任何人都可以告诉我这里缺少什么。在此先感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

试试这个

  UIbutton *mybutton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 120, 30)] ;

答案 1 :(得分:0)

按钮的框架应该相对于父母的界限,但它似乎与屏幕相关。如果你想让你的按钮在geopointView里面,它需要有一个x,y坐标,它们适合于geopointView的宽度(120)和高度(100),所以像这样的东西会把它放在左上角(0,0) )geopointView:

UIButton* button = [[UIButton alloc] initWithFrame:CGRectMake(0,0,120,30)];