iOS macOS更新Xcode15后适配UI界面处理界面越界显示问题
直接上解决方案,亲测有效哦
iOS端
my..clipsToBounds = YES;
macOS端
drawRect [self setClipsToBounds:true]; addSubview后面 [self.chartViewControll.view setClipsToBounds:true]; [self.titleBackView setClipsToBounds:true]; [infoView setClipsToBounds:true];
demo:
iOS例子:swift
// MARK: Bottom View lazy var bottomView: UIView = { let view = UIView.init() view.backgroundColor = JYBColor.cellBackground view.clipsToBounds = true return view }()
OC
#pragma mark - Getter - (UIImageView *)bgImageView { if (!_bgImageView) { _bgImageView = [UIImageView new]; _bgImageView.clipsToBounds = YES; } return _bgImageView; }
macOS例子:OC
NSView中
- (void)drawRect:(NSRect)dirtyRect { [super drawRect:dirtyRect]; [self setClipsToBounds:true]; }
一般的NSViewController中
[self.view addSubview:self.segmentView]; [self.segmentView setClipsToBounds:true];
- (specialHeatMapView *)m_specialHeatMapViewDOWN{ if (!_m_specialHeatMapViewDOWN){ _m_specialHeatMapViewDOWN = [[specialHeatMapView alloc] init]; _m_specialHeatMapViewDOWN.wantsLayer = YES; _m_specialHeatMapViewDOWN.layer.backgroundColor = [NSColor clearColor].CGColor; [self.view addSubview:self.m_specialHeatMapViewDOWN]; [self.m_specialHeatMapViewDOWN setClipsToBounds:true]; } return _m_specialHeatMapViewDOWN; }