iOS自定義alertview

在家閑來無事,于是就看起來ios繪圖的那塊,寫點(diǎn)什么好呢?

鼓搗了一會(huì),總算寫出了一個(gè)小東西

這個(gè)是寫完以后的效果

image
image
image
image
image
image

這里我實(shí)現(xiàn)了三種款式的alertview
分別是成功,錯(cuò)誤和警告,剩下的呢有空繼續(xù)添加吧。

廢話不說了,講一下代碼的思路

我用的是UIBezierPath進(jìn)行繪圖

ios有很多種繪圖的方式,要講的話在寫幾篇都寫不完,這里就不詳細(xì)介紹了。

UIBezierPath繪圖分三個(gè)步驟

1.創(chuàng)建UIBezierPath路徑
2.創(chuàng)建CAShapeLayer
3.將layer附加到圖層

2和3之間還可以添加動(dòng)畫


[_logoView removeFromSuperview];
    _logoView = [[UIView alloc] initWithFrame:CGRectMake(([self getSelfSize].width-Simble_SIZE)/2, Simble_TOP, Simble_SIZE, Simble_SIZE)];
    
    UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(Simble_SIZE/2, Simble_SIZE/2) radius:Simble_SIZE/2 startAngle:0 endAngle:M_PI*2 clockwise:YES];
    path.lineCapStyle = kCGLineCapRound;
    path.lineJoinStyle = kCGLineCapRound;
    
    [path moveToPoint:CGPointMake(Simble_SIZE/2, Simble_SIZE/6)];
    CGPoint p1 = CGPointMake(Simble_SIZE/2, Simble_SIZE/6*3.8);
    [path addLineToPoint:p1];
    
    [path moveToPoint:CGPointMake(Simble_SIZE/2, Simble_SIZE/6*4.5)];
    [path addArcWithCenter:CGPointMake(Simble_SIZE/2, Simble_SIZE/6*4.5) radius:2 startAngle:0 endAngle:M_PI*2 clockwise:YES];
    
    
    CAShapeLayer *layer = [[CAShapeLayer alloc] init];
    layer.fillColor = [UIColor clearColor].CGColor;
    layer.strokeColor = [UIColor orangeColor].CGColor;
    layer.lineWidth = 5;
    layer.path = path.CGPath;
    
    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:NSStringFromSelector(@selector(strokeEnd))];
    animation.fromValue = @0;
    animation.toValue = @1;
    animation.duration = 0.5;
    [layer addAnimation:animation forKey:NSStringFromSelector(@selector(strokeEnd))];
    
    [_logoView.layer addSublayer:layer];
    
    [self addSubview:_logoView];

這個(gè)代碼段是用來繪制一個(gè)嘆號(hào)

GitHub代碼在這

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • iOS 自帶的UIAlertView 與UIAlertController功能非常局限,有時(shí)候需要我們自定義Ale...
    PandaXiong閱讀 1,719評(píng)論 1 7
  • 在iOS中隨處都可以看到絢麗的動(dòng)畫效果,實(shí)現(xiàn)這些動(dòng)畫的過程并不復(fù)雜,今天將帶大家一窺ios動(dòng)畫全貌。在這里你可以看...
    每天刷兩次牙閱讀 8,698評(píng)論 6 30
  • 最近項(xiàng)目中,要使用AlertView提示框,其實(shí)和UIAlertView類似的方式,只是按鈕顏色發(fā)生修改。Aler...
    LazyLoad閱讀 2,286評(píng)論 0 1
  • 系列插畫(一) 1. 2. 3. 4. 希望大家喜歡哦?。ㄒ陨暇鶠楸救嗽瓌?chuàng))也歡迎大家向我投以該系列的圖片...
    fantastic語歌閱讀 837評(píng)論 3 3
  • ?— 01 — 常常會(huì)有讀者問我:“夕言姐,我喜歡一個(gè)男生,非常喜歡,可我是女生,到底該不該去主動(dòng)追他?”“夕言姐...
    夕言細(xì)語閱讀 3,275評(píng)論 11 49

友情鏈接更多精彩內(nèi)容