zoukankan      html  css  js  c++  java
  • iOS11适配UIToolbar无法点击问题

    原因:Toolbar 在iOS11默认添加有_UIToolbarContentView,_UIToolbarContentView

    _UIButtonBarStackView覆盖在自定义的按钮上面,导致按钮无响应。

    解决方案:

    1.为了解决iOS11(与较低版本兼容)的问题,您只需要在UIToolBar被添加为UI层次结构的子视图之后,

    调用 layoutIfNeeded方法,UIToolbarContentView会降低到UIToolBar的第一个子视图,然后你就可以将所有的子视图添加到最顶层。

    UIToolbar *toolbar = [UIToolbar new];
    
    [self addSubview: toolbar];
    
    [toolbar layoutIfNeeded];

    2.在UIToolbar子类中加入这样一段代码

    - (void)layoutSubviews {
        [super layoutSubviews];
    
    
        NSArray *subViewArray = [self subviews];
    
        for (id view in subViewArray) {
            if ([view isKindOfClass:(NSClassFromString(@"_UIToolbarContentView"))]) {
                UIView *testView = view;
                testView.userInteractionEnabled = NO;
             }
         }
    
    }
  • 相关阅读:
    Eureka 原理圖
    RabbitMQ 介紹
    rabbitmq-3.5.1-安裝
    MyBatis 基础入门
    CSS
    程序员必会算法-KMP算法
    编程这些年
    排序算法之直接插入排序
    排序算法之选择排序
    排序算法之冒泡排序
  • 原文地址:https://www.cnblogs.com/qiyiyifan/p/8471596.html
Copyright © 2011-2022 走看看