我如何确保我的uiview始终是一个正方形?

时间:2013-08-02 23:11:24

标签: ios cocoa-touch uikit

我正在编写一个uiview子类,必须在方框中显示才能正确格式化。

我如何编写api以便消费者只能请求一个正方形,并且其框架的任何变化都按比例发生?

或者是否足以让消费者在文档中知道此视图仅适用于方框?

2 个答案:

答案 0 :(得分:2)

一种选择是覆盖自定义视图类中的setFrame:方法:

- (void)setFrame:(CGRect)frame {
    if (frame.size.width != frame.size.height) {
         // Update this logic to suit your needs
         frame.size.height = frame.size.width;
    }

    [super setFrame:frame];
}

答案 1 :(得分:-1)

只需将框架设置为矩形

即可
[self.view setFrame:CGRectMake(<#CGFloat x#>, <#CGFloat y#>, <#CGFloat width#>, <#CGFloat height#>)
[self.view setFrame:CGRectMake(100, 100, 100, 100)]

或其任何乘数