スーパービューの深さ3レベルのUIImageViewがあります。(灰色の長方形の上の白い領域は私のスーパービュー、灰色の細長い長方形は 1 つのサブビュー、黒い正方形は細長い灰色の長方形の別のサブビュー、歯車は黒い正方形のサブビューである UIImageView のイメージです) )。UIImageView のフレーム矩形は次のように計算されます。ここで、_normalImage は UIImage オブジェクトです。黒い四角を表すサブクラス内でこれを行います
CGFloat xPoint = self.bounds.size.width/2 - _normalImage.size.width/2;
CGFloat yPoint = self.bounds.size.height/2 - _normalImage.size.height/2;
CGRect frameRect = CGRectMake(xPoint, yPoint, _normalImage.size.width, _normalImage.size.height);
self.imageHolder = [[UIImageView alloc] initWithFrame:frameRect];
_normalImage は 26X26 で、完全な正方形である必要があります。ただし、画像は縦横比が失われたかのように歪んで表示されます。
どうしたの ?