编程技术记录

世界你好!

方法[[UIBarButtonItem alloc] initWithCustomView:view]
在iOS 高版上如(iOS11,12,13,14),可以自动调整view的大小
在iOS底版本上如(iOS10,9),则采用view自身的大小。

也就是说,如果view的frame不指定,有可能在导航栏上不可见。

例如

        // sendButton 默认大小为0
        UIButton *sendButton = [UIButton buttonWithType:UIButtonTypeCustom];
        [sendButton setBackgroundImage:背景图 forState:UIControlStateDisabled];

        // 实测在iOS9.3上,sendButton不显示
        self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:sendButton];

© Beli. All Rights Reserved.