ฉันไม่รู้ว่าสิ่งนี้จะช่วยคนอื่นได้ไหม แต่ฉันเขียนหมวดหมู่เพื่อให้สะดวกเพราะฉันพบว่าตัวเองทำสิ่งนี้บ่อยมาก
UIView + DisableAutolayoutTempo ชั่วคราว.h
#import <UIKit/UIKit.h>
@interface UIView (DisableAutolayoutTemporarily)
// the view as a parameter is a convenience so we don't have to always
// guard against strong-reference cycles
- (void)resizeWithBlock:(void (^)(UIView *view))block;
@end
UIView + DisableAutolayoutTempo ชั่วคราว m
#import "UIView+DisableAutoResizeTemporarily.h"
@implementation UIView (DisableAutoResizeTemporarily)
- (void)resizeWithBlock:(void (^)(UIView * view))block
{
UIView *superview = self.superview;
[self removeFromSuperview];
[self setTranslatesAutoresizingMaskIntoConstraints:YES];
__weak UIView *weakSelf = self;
block(weakSelf);
[superview addSubview:self];
}
@end
ฉันใช้มันดังนี้:
[cell.argumentLabel resizeWithBlock:^(UIView *view) {
[view setFrame:frame];
}];
หวังว่าจะช่วยได้