iOS 自定义titleView的宽度

释放双眼,带上耳机,听听看~!

前言

下面的代码,定义了titleView的宽度为屏幕宽度。

UIView *titleView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, 44)];
titleView.backgroundColor = [UIColor redColor];
self.navigationItem.titleView = titleView;

实际效果:

截图1

效果并不理想。

解决方案

一、创建个UIView类:

@interface CustomTitleView : UIView
@end

@implementation CustomTitleView

- (instancetype)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self) {    
    }
    return self;
}

- (void)setFrame:(CGRect)frame {
    [super setFrame:CGRectMake(0, 0, self.superview.bounds.size.width, self.superview.bounds.size.height)];
}

@end

二、调用

UIView *titleView = [[CustomTitleView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, 44)];
titleView.backgroundColor = [UIColor greenColor];
self.navigationItem.titleView = titleView;

最终效果

截图2

人已赞赏
iOS文章

iOS NSData转化成string,返回nil的问题

2019-12-23 14:11:57

iOS文章

iOS iPhoneXR和全面屏iPad判断

2019-12-23 14:26:24

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索