【发布时间】:2025-12-21 10:10:11
【问题描述】:
如何在使用自动布局定位和调整UILabel 的大小时添加填充?
我尝试将其子类化并覆盖drawTextInRect: 方法,如下所示:
- (void)drawTextInRect:(CGRect)rect {
CGFloat borderWidth = 5;
CGFloat doubleBigSquareRadius = CGRectGetWidth(rect);
CGFloat doubleSmallSquareRadius = doubleBigSquareRadius - borderWidth * 2;
CGFloat smallSquareSideSize = doubleSmallSquareRadius / sqrt(2);
CGFloat smallSquareOffset = (doubleBigSquareRadius - smallSquareSideSize) / 2;
CGSize smallSquareSize = CGSizeMake(smallSquareSideSize, smallSquareSideSize);
CGPoint smallSquareOrigin = CGPointMake(smallSquareOffset, smallSquareOffset);
CGRect smallSquareFrame = CGRectMake(smallSquareOrigin.x, smallSquareOrigin.y, smallSquareSize.width, smallSquareSize.height);
[super drawTextInRect:smallSquareFrame];
}
但它根本没有被调用。
【问题讨论】:
标签: ios objective-c uilabel ios-autolayout