2011-09-07 47 views
2

我有一個UIViewUIButton(在RootViewcontroller的viewDidLoad:方法中聲明)。UIView的內容錯位

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]; 

最後的UIView被添加到RootViewController的在方法showTheView(在RootViewController的定義)

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

但是當這種方法被調用時,我發現,既爲myButton和geopointView是可見的,但myButton爲未置於其內的geopointView。 mybutton的界限現在顯示爲CGRectmake(10, 250, 120, 30);

任何人都可以請告訴我在這裏失蹤。感謝您提前提供任何幫助。

+0

發佈烏爾sceenshot,讓我知道你 –

+0

本身geoView 100個像素高,但你把按鈕的,以330 –

回答

1

試試這個

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

非常感謝AppleVijay ...它解決了這個問題。 – alekhine

+0

即時幫助http://chat.stackoverflow.com/rooms/682/conversation/do-u-want-instant-help-for-ur-question-or-ru-new-bee-to-iphone-ipad-開發 –

0

您的按鈕的框架應該是相對父的,但它似乎是相對於屏幕。如果您希望按鈕位於geopointView內部,它需要具有符合geopointView寬度(120)和高度(100)的x,y座標,因此類似這樣的內容會將其放置在左上角(0,0 )geopointView的:

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

謝謝程序員的解釋。 – alekhine