这是一个非常基本的问题 - 但我无法在任何地方找到答案。 我想要一个后退按钮,就像在导航栏中显示的默认按钮,但在后台有一个图像。 即使使用自定义,如何根据标题计算按钮的大小/长度? 非常感谢您提前帮助!
更新
谢谢你们!但我最终实现的答案是:
@implementation UINavigationBar(UINavigationBarCategory)
- (void)drawRect:(CGRect)rect
{
UIColor *color = [UIColor colorWithRed:(13.0/255.0) green:(183.0/255.0) blue:(255.0/255.0) alpha:1.0];
//使用我的导航栏图像上使用数字色度计的后退按钮的自定义颜色:P
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColor(context, CGColorGetComponents( [color CGColor]));
CGContextFillRect(context, rect);
self.tintColor = color;
// use a custom background image for my navigation bar
UIImage *img = [UIImage imageNamed: Navigation_img];
[img drawInRect:CGRectMake(0,0,img.size.width,img.size.height)];
} //令我满意的工作
@end
答案 0 :(得分:0)
使用sizeWithFont:
NSString方法计算标题的大小。
答案 1 :(得分:0)
要查找特定文本的宽度,您可以使用以下方法。
NSString *str=@"Back";
CGSize sizeOfBack = [str sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:CGSizeMake(30, CGFLOAT_MAX) lineBreakMode:UILineBreakModeWordWrap];
让我在上面解释两个陈述。
这里,sizeOfBack.width将给出由14System大小的字符串获取的宽度。
希望对你有所帮助。如果您对此有疑问,请通过评论告诉我。
答案 2 :(得分:0)
UIButton
创建UIImage
,以模仿您想要的形状。UIImage
必须是可伸缩的类型,也就是说,您可以将leftCapWidth
设置为后箭的大小UIButton
的标题设置为您喜欢的标题UIBarButtonItem
navigationItem
s leftBarButtonItem
属性。该按钮会自动调整大小以适合您的标题。