为什么这个UIView布局代码无法正常工作?如何更改方向更改后的UIView大小(代码包含似乎不起作用)
背景:
- 我有一个自定义的UIView我在我的UIViewController
- 自定义的UIView具有时钟背景的ImageView和hourhand ImageView的
- 引入一些代码后(见下文)尝试调整时针的方向变化我陷入了困境。
- 下面的代码确实充塞东西 - outlike沙漏手的边界路要走与此代码
任何想法,我做错了什么 - 有明显的一些假设或误会我有它搞砸了这样的... ...通过的UIViewController(在 “didRotateFromInterfaceOrientation” 方法)称为
代码到我的自定义视图:
// Centre image
self.hourHandImageView.center = self.hourFaceUIImageView.center;
// Resize to cater for either Portrait or Landscape orientation
CGSize currSize = self.hourFaceUIImageView.frame.size;
float newHourHandImageheightWidth = currSize.width < currSize.height ? currSize.width : currSize.height;
CGSize newHourHandViewSize = CGSizeMake(newHourHandImageheightWidth, newHourHandImageheightWidth);
CGRect newRect = self.hourHandImageView.frame;
newRect.size = newHourHandViewSize;
self.hourHandImageView.frame = newRect;
PS。如果没有“调整大小以迎合纵向或横向”编码,则时针应正确地保持居中位置(注意我使用转换来转动它)。我真正需要做的是在方向更改后适当调整时针,注意在横向模式下小时背景图像较小。
尺寸变化是否得到反映?定位点是否进入错误的地方? – Ravin
你试过[self.view layoutSubviews]还是[self.view setNeedsDisplay]?尝试setNeedsDisplay刷新视图。在更改框架后在最后调用方法 –
@Ravin - 中心出现在错误的地方,并且大小不正确 – Greg