0

自動レイアウトでストーリーボードを使用すると、何かに気づきました。UIScrollViewを追加し、それをIBOutletに接続しました。UIViewControllerで、ログを作成すると、次のようになります。

NSLog(@"size %f",self.myScrollView.frame.size.width);

結果は0ですが、視覚的には測定値は正しいです。

自動レイアウトをオフにすると、ログパラメータが正しくなり、視覚的にすべてが変更されません。

自動レイアウトで正しい値を確認するにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

どうやら、で要求することで正しいサイズ値を表示できます。これは、で、自動レイアウトを使用してまだ決定されていないためviewDidAppearです。viewDidLoadviewWillAppear

-(void)viewDidAppear:(BOOL)animated{
  [super viewDidAppear:animated];
  NSLog(@"size %f",self.myScrollView.frame.size.width);
}

ここに示されているように:

-(void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@"%s size %f",__PRETTY_FUNCTION__,_holderView.frame.size.width);
}

-(void)viewWillAppear:(BOOL)animated{
  [super viewWillAppear:animated];
   NSLog(@"%s size %f",__PRETTY_FUNCTION__,_holderView.frame.size.width);
}

-(void)viewDidAppear:(BOOL)animated{
  [super viewDidAppear:animated];
   NSLog(@"%s size %f",__PRETTY_FUNCTION__,_holderView.frame.size.width);
}

2013-04-17 12:02:05.442 TryALASB [5421:c07]-[FirstViewControllerviewDidLoad]サイズ0.0000002013-04-17 12:02:05.444 TryALASB [5421:c07]-[FirstViewController viewWillAppear:]サイズ0.000000 2013-04 -17 12:02:05.457 TryALASB [5421:c07]-[FirstViewController viewDidAppear:] サイズ150.000000

于 2013-04-17T10:06:58.537 に答える