0

これを試すと

myUIImageView.bounds.size.width = 50.0f;

次に、エラーが発生します:割り当ての左辺値が無効です

しかし、私がこれを行うと、コンパイルされます。余計な手間がかかるのに

CGRect newRect = myUIImageView.bounds;
newRect.size.width = 50.0f;
myUIImageView.bounds = newRect;

それはコンパイルされますが、何も起こりません。私の UIImageView のフレームは 300 幅で、正確に 300px 幅の画像で満たされています。ぴったりです。だから今、私はその画像を(ただの楽しみのために)引き伸ばしたかったので、境界の長方形の幅を小さくする必要がありました。50.0としましょう。しかし、残念ながら、イメージは期待どおりに引き伸ばされません。ただ何も起こりません。このコードの 2 行下で、画像を移動します。それはうまくいきます。

4

3 に答える 3

2

-[UIView bounds]CGRectビューの境界の x、y、幅、および高さの値を含むnew を返します。この new の値を変更しCGRectても効果はなく、GCC はこれを認識しています。

幅を変更するには、ビューから境界を取得し、それらをどこかに保存し、保存された幅の値を変更し、次CGRectを使用して新しい境界をビューに通知する必要があります-[UIView setBounds:]

于 2009-04-22T14:37:51.573 に答える
0

プロパティsizeとorignは読み取り専用です。

境界は読み取り専用ではありません。

境界を変更できるが、サイズを変更できない理由を見てみましょう

于 2009-04-22T13:56:37.053 に答える
0

これは機能します(私にとって)。

CGRect frame = myUIImageView.frame;
frame.size.width = 50.0;
myUIImageView.frame = frame;

それを試してみてください..

于 2009-04-22T14:11:41.900 に答える