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;
}

 

posted on 2024-03-13 17:26  高彰  阅读(100)  评论(0编辑  收藏  举报

导航