3

メインUIViewの中央上部に表示したいUIImageを含むUIImageViewを追加しています。

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から呼び出されている)の下部にこのコードを追加すると、画像は引き続き右下に表示されます。正しく配置するにはどうすればよいですか?

4

2 に答える 2

3

コードをviewDidAppearに移動します。境界とフレームは、viewWillAppear/viewDidAppearまで設定されているとは限りません。

于 2013-03-12T20:49:54.747 に答える
1

ストラットとスプリングを適切に設定してから、次のようにしてください。

 -(void)viewWillAppear:(BOOL)animated 
  {
    [super viewWillAppear:animated];
    firstView.center = self.center;
  }
于 2013-03-12T21:01:48.067 に答える