2013-03-12 37 views
3

我想添加一個UIImage的UIImage,我希望出現在主UIView的中心頂部。如何在Uview中定位UIView?

我將使用UIPageControl將該視圖向左滑動並從右側引入新視圖。我添加了通常只是將其添加到右下角的UIImageView

-(void)createUIViews{ 
    UIImage *image1 = [UIImage imageNamed:@"GiftCard.png"]; 
    firstView = [[UIImageView alloc] initWithImage:image1]; 
    firstView.backgroundColor = [UIColor grayColor]; 
    firstView.tag = 1; 
    firstView.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin); 
} 

現在我想將它定位在頂部中心。的東西,以便即時通訊思想是這樣的:

CGRect newFrame = self.view.frame; 
    newFrame.origin.x += 50; 
    self.view.frame = newFrame; 

    [self.view addSubview:firstView]; 

但是,當我在前面的一個,(這順便說一句正在從viewDidLoad中調用)的底部添加此代碼,圖像仍然出現在右下角。我如何正確定位?

回答

3

將您的代碼移到viewDidAppear。邊界和框架不能保證被設置,直到viewWillAppear/viewDidAppear。

+0

好了,現在我需要移動設置動畫,從UIPageControl,我應該讓另一個職位? – marciokoko 2013-03-12 21:02:10

+0

是的,我會爲動畫製作另一個帖子,因爲這是一個更復雜的過程。 – Spectravideo328 2013-03-12 21:03:51

1

確保您設置的支柱和彈簧適當地,然後就這樣做:

-(void)viewWillAppear:(BOOL)animated 
    { 
    [super viewWillAppear:animated]; 
    firstView.center = self.center; 
    }