ios - 在 initWithCoder 中设置 UIImageView 框架

标签 ios uiimageview storyboard initwithcoder

我试图在 UICollectionCell 的子类中设置 UIImageView 的帧大小,但它不起作用。我使用 Storyboard。

在代码中,除了有关 imageView 的最后一行外,一切正常。 如果我将代码放在 drawRect 中,它就可以正常工作。

- (id)initWithCoder:(NSCoder *)decoder {
if ((self = [super initWithCoder:decoder]))
{
    self.backgroundColor = [UIColor colorWithWhite:0.85f alpha:1.0f];

    self.layer.borderColor = [UIColor lightGrayColor].CGColor;
    self.layer.borderWidth = 1.0f;

    self.layer.cornerRadius = 8.0f;
    self.layer.masksToBounds = NO;
    self.layer.shadowColor = [UIColor blackColor].CGColor;
    self.layer.shadowRadius = 3.0f;
    self.layer.shadowOffset = CGSizeMake(0.0f, 2.0f);
    self.layer.shadowOpacity = 0.5f;

    self.imageView.frame = CGRectMake(10, 10, 50, 50);
}

最佳答案

那是因为你的imageView(我相信它和IBOutlet)尚未初始化,它仍然为零。请注意,某些变量/属性正在 init 方法内初始化。设置断点,你就会看到。尝试在其他地方设置 imageView 值,例如drawRect(如您所建议的)或awakeFromNib。

关于ios - 在 initWithCoder 中设置 UIImageView 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19133898/

相关文章:

ios - UIScrollView 中具有一些复杂条件的动态大小的 UIImageView

iphone - 在 xcode 中保存/共享字符串

ios - 从另一个 Storyboard 以编程方式加载 UISplitViewController

iphone - 在 Storyboard iphone 中 ScrollView

ios - 文档共享面临的问题

ios - Xcode 10 : unable to attach DB error

ios - 扩展图像上的捏合手势识别器

iphone - ios中的视频捕获问题

ios - 使用 UIManagedDocument 保存核心数据时出错

ios - 自动布局在 iPhone 6s Plus 中无法按预期工作