【发布时间】:2013-08-02 23:11:24
【问题描述】:
我正在编写一个 uiview 子类,它必须显示在方形框架中才能正确格式化。
我如何编写 api 以便消费者只能请求一个正方形,并且它的框架的任何更改都会按比例发生?
或者在文档中让消费者知道该视图仅适用于方形框架就足够了吗?
【问题讨论】:
标签: ios cocoa-touch uikit
我正在编写一个 uiview 子类,它必须显示在方形框架中才能正确格式化。
我如何编写 api 以便消费者只能请求一个正方形,并且它的框架的任何更改都会按比例发生?
或者在文档中让消费者知道该视图仅适用于方形框架就足够了吗?
【问题讨论】:
标签: ios cocoa-touch uikit
一种选择是覆盖自定义视图类中的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];
}
【讨论】:
只需将框架设置为矩形
[self.view setFrame:CGRectMake(<#CGFloat x#>, <#CGFloat y#>, <#CGFloat width#>, <#CGFloat height#>)
[self.view setFrame:CGRectMake(100, 100, 100, 100)]
或其任意倍数
【讨论】: