我想创建一个UIView子类,以便拥有一个特定的UIView,其中包含一些UILabel和一个UIImageView。但是,我希望UIView是方形的,只有100x100pt。是否可以指定UIView应该只是特定的大小?
我唯一的想法是覆盖initWithFrame:
并且必须剥离传递的值并扔掉它们,但这似乎是错误的。
答案 0 :(得分:2)
如您在问题中所述,覆盖initWithFrame:
没有任何问题。您还希望覆盖setFrame:
,以确保没有人以这种方式设置框架。
另一种选择,如果你使用自动布局,那就是让你的子类为自己添加宽度和高度约束,使其强制为100x100。
答案 1 :(得分:1)
加载UIView
后,将其框架设置为100 x 100,无需覆盖任何内容。请参阅以下内容:
self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, 100, 100);
这消除了覆盖的需要。