[英]iOS Set Size of Button in title of UINavigationBar
我试图使用按钮代替UINavigationBar上的标题。 我已经成功地获得了可以与自定义图像一起显示的按钮,但是我很难确定如何调整其大小。 我尝试了一些事情,包括:
UIButton *titleButton = [[UIButton alloc]init];
UIImage *settingsButtonImage = [UIImage imageNamed:@"settingsButton2X.png"];
[titleButton addTarget:self action:@selector(settingsButtonPress:) forControlEvents:UIControlEventTouchDown];
[titleButton setBackgroundImage:settingsButtonImage forState:UIControlStateNormal];
[titleButton setFrame:CGRectMake(0, 0, 20, 20)];
self.navigationItem.titleView = titleButton;
这很好用,除非导航栏中的结果图像仅在y方向上调整大小,导致外观模糊(不幸的是,由于我没有声誉,我无法发布图像以显示该图像-您可能可以在这里查看: http : //i.stack.imgur.com/fNh7O.png )
我可以使用20 x 20px的图像,并且可以正确显示,但是在视网膜显示屏上看起来像是像素化的。
所以我的主要问题是:向UINavigationBar的标题区域添加按钮的最佳方法是什么? 此按钮的图像的最佳像素大小是多少?在旧的iPhone屏幕和新的视网膜显示屏上,该按钮都将显得清晰? (显然,我只是不了解图像的像素大小,我认为最好以40x40px或60x60px的图像开始)。
谢谢您的帮助!
你为什么不尝试这样的事情:-------
UIButton *titleButton = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 20, 20)];
UIImage *settingsButtonImage = [UIImage imageNamed:@"settingsButton2X.png"];
[titleButton addTarget:self action:@selector(settingsButtonPress:) forControlEvents:UIControlEventTouchDown];
[titleButton setBackgroundImage:settingsButtonImage forState:UIControlStateNormal];
titleButton.center=self.navigationController.navigationBar.center;
titleButton.center=CGPointMake(titleButton.center.x, self.navigationController.navigationBar.frame.size.height/2);
[self.navigationController.navigationBar addSubview:titleButton];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.