gpt4 book ai didi

iphone - ios未读消息图标

转载 作者:可可西里 更新时间:2023-11-01 03:07:17 25 4
gpt4 key购买 nike

我想知道 iOS 中是否有一种标准方法可以为未读邮件生成带编号的气泡图标,就像在 iphone 和 mac 的邮件中使用的那样。

我不是在谈论用 badgevalue 完成的应用程序项目上的红点,而是在邮箱旁边的蓝色气泡。

当然可以使用 coregraphics 手动完成,但是很难匹配邮件等中使用的标准尺寸和颜色。

最佳答案

这里有三种方法可以做到这一点,按难易程度排序..

  1. 从您的 iphone 截取您的邮件应用程序,将图像发送到 photoshop,提取蓝点并将其用作您的应用程序中的图像。要在 tableviewcell 中使用它,只需设置 imageView.image = [UIImage imageName:@"blueDot.png"];

  2. 与 #1 相同,只是将图像保存为灰度,这样您就可以使用 Quartz 并在其上叠加您自己的颜色。所以你可以把那个点变成你想要的任何颜色。非常酷的东西。

  3. 使用 Quartz 绘制整个东西。它真的没有那么难。如果您需要一些代码,请告诉我。

好吧,扭动我的 ARM ...这是从 quartz 绘制您自己的渐变球体的代码...

创建一个继承自 UIView 的类。添加以下代码

static float RADIANS_PER_DEGREE=0.0174532925;

-(void) drawInContext:(CGContextRef) context
{

// Drawing code
CGFloat radius = self.frame.size.width/2;
CGFloat start = 0 * RADIANS_PER_DEGREE;
CGFloat end = 360 * RADIANS_PER_DEGREE;

CGPoint startPoint = CGPointMake(0, 0);
CGPoint endPoint = CGPointMake(0, self.bounds.size.height);


//define our grayscale gradient.. we will add color later
CGFloat cc[] =
{
.70,.7,.7,1, //r,g,b,a of color1, as a percentage of full on.
.4,.4,.4,1, //r,g,b,a of color2, as a percentage of full on.
};


//set up our gradient
CGGradientRef gradient;
CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB();
gradient = CGGradientCreateWithColorComponents(rgb, cc, NULL, sizeof(cc)/(sizeof(cc[0])*4));
CGColorSpaceRelease(rgb);


//draw the gray gradient on the sphere


CGContextSaveGState(context);
CGContextBeginPath(context);
CGContextAddArc(context, self.bounds.size.width/2, self.bounds.size.height/2, radius,start,end , 0);
CGContextClosePath(context);
CGContextClip(context);

CGContextAddRect(context, self.bounds);
CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, kCGGradientDrawsBeforeStartLocation);
CGGradientRelease(gradient);

//now add our primary color. you could refactor this to draw this from a color property
UIColor *color = [UIColor blueColor];
[color setFill];
CGContextSetBlendMode(context, kCGBlendModeColor); // play with the blend mode for difference looks
CGContextAddRect(context, self.bounds); //just add a rect as we are clipped to a sphere
CGContextFillPath(context);


CGContextRestoreGState(context);


}


- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();

[self drawInContext:context];
}

关于iphone - ios未读消息图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5845616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com