如何创建具有固定大小的UIView子类?

时间:2014-02-11 20:41:49

标签: ios objective-c cocoa-touch uiview

我想创建一个UIView子类,以便拥有一个特定的UIView,其中包含一些UILabel和一个UIImageView。但是,我希望UIView是方形的,只有100x100pt。是否可以指定UIView应该只是特定的大小?

我唯一的想法是覆盖initWithFrame:并且必须剥离传递的值并扔掉它们,但这似乎是错误的。

2 个答案:

答案 0 :(得分:2)

如您在问题中所述,覆盖initWithFrame:没有任何问题。您还希望覆盖setFrame:,以确保没有人以这种方式设置框架。

另一种选择,如果你使用自动布局,那就是让你的子类为自己添加宽度和高度约束,使其强制为100x100。

答案 1 :(得分:1)

加载UIView后,将其框架设置为100 x 100,无需覆盖任何内容。请参阅以下内容:

self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, 100, 100);

这消除了覆盖的需要。