私は本を読んでいますが、課題の 1 つは autoresizingMask をプログラムで設定することです。唯一の問題は、setAutoresizingMask: が IB で設定したものによってオーバーライドされるように見えるため、コードが正しいかどうかを確認できないことです。
実際には2つの質問:
1) IB で autoresizingMask をオフにする方法はありますか? IB のすべての設定を削除しましたが、コードが引き継ぐ代わりに、Xcode がデフォルトに設定された autoresizingMask として解釈するようです。
2) 私のコードは正しいですか? だからここに私がやったことです。
ビューコントローラファイルで...
@property (nonatomic) IBOutlet UISlider *slider;
そして、IB で File Owner から Horizontal Slider に接続し、「slider」を参照しました。アプリ デリゲート ファイルでは、viewController を rootViewController として設定しています。
[viewController.slider setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin];
それでも向きをシミュレートして変更しても、スライダーの幅は変わりません。
みんなありがとう!
* *実際、私のコードはどういうわけか間違っているようです... コードを設定した直後の NSLogging autoresizingMask は 0 を返します...何が間違っているのか理解できないようです..