iOS開源小項目-WSL

WSL是一款擁有 音樂播放,新聞,壁紙,畫板,簡易地圖,計時器等等功能的小項目,是我自己早期學習時做著玩的,并沒上架;UI是自己設(shè)計,所以挺吃藕的,粗糙的,沒做適配,是在6尺寸下開發(fā)的 ,還希望不要嫌棄了O(∩_∩)O哈哈~,接口是抓取安卓壁紙、天天動聽、IPadDown新聞的接口!此小項目僅作為學習參考用!下面稍微介紹下此APP的功能模塊,有需要的可以去去 我的github ,歡迎star!
(gif有點大,有的壓縮的失真了,,,,)

0 、啟動界面
第一次安裝運行會有APP的介紹頁面,對于啟動的動畫,是一個小視頻,根據(jù)當前的系統(tǒng)時間,會有春夏秋冬四種不同的啟動畫面。可以看壁紙1效果圖。

一、壁紙模塊

壁紙1.gif

壁紙2.gif

壁紙這塊主要是通過應(yīng)用直接更改系統(tǒng)桌面壁紙和鎖屏壁紙,調(diào)用的是私有API,iOS10以下才會起作用!

#import "UIImage+ZJWallPaper.h"
#import <objc/runtime.h>
#import <objc/message.h>

@interface UIImage ()

@end

@implementation UIImage (ZJWallPaper)

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wundeclared-selector"
/*!
 *  保存為桌面壁紙和鎖屏壁紙
 */
- (void)zj_saveAsHomeScreenAndLockScreen
{
    [self.zj_wallPaperVC performSelector:@selector(setImageAsHomeScreenAndLockScreenClicked:) withObject:nil];
}

/*!
 *  保存為桌面壁紙
 */
- (void)zj_saveAsHomeScreen
{
    [self.zj_wallPaperVC performSelector:@selector(setImageAsHomeScreenClicked:) withObject:nil];
    
}

/*!
 *  保存為鎖屏壁紙
 */
- (void)zj_saveAsLockScreen
{
    [self.zj_wallPaperVC performSelector:@selector(setImageAsLockScreenClicked:) withObject:nil];
}

/*!
 *  保存到照片庫
 */
- (void)zj_saveToPhotos
{
    UIImageWriteToSavedPhotosAlbum(self, nil,nil, NULL);
}

#pragma clang diagnostic pop

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
- (id)zj_wallPaperVC
{
    Class wallPaperClass = NSClassFromString(@"PLStaticWallpaperImageViewController");
    id wallPaperInstance = [[wallPaperClass alloc] performSelector:NSSelectorFromString(@"initWithUIImage:") withObject:self];
    [wallPaperInstance setValue:@(YES) forKeyPath:@"allowsEditing"];
    [wallPaperInstance  setValue:@(YES) forKeyPath:@"saveWallpaperData"];
    
    return wallPaperInstance;
}
#pragma clang diagnostic pop

二、新聞模塊

新聞.gif
動畫.gif
動畫主要代碼:UITableView的代理方法
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSArray *array =  tableView.indexPathsForVisibleRows;
    NSIndexPath *firstIndexPath = array[0];


    //設(shè)置anchorPoint
    cell.layer.anchorPoint = CGPointMake(0, 0.5);
    //為了防止cell視圖移動,重新把cell放回原來的位置
    cell.layer.position = CGPointMake(0, cell.layer.position.y);


    //設(shè)置cell 按照z軸旋轉(zhuǎn)90度,注意是弧度
    if (firstIndexPath.row < indexPath.row) {
        cell.layer.transform = CATransform3DMakeRotation(M_PI_2, 0, 0, 1.0);
    }else{
        cell.layer.transform = CATransform3DMakeRotation(- M_PI_2, 0, 0, 1.0);
    }


    cell.alpha = 0.5;


    [UIView animateWithDuration:1 animations:^{
        cell.layer.transform = CATransform3DIdentity;
        cell.alpha = 1.0;
    }];

}

三、音樂播放器

在線播放,后臺播放,批量下載,歌詞解析,鎖屏歌詞,滾動歌詞;

2017/6/7更新:由于接口數(shù)據(jù)發(fā)生了改變,可能現(xiàn)在音樂播放器這塊兒沒法看到效果,我把鎖屏效果和歌詞解析,滾動顯示功能單獨抽出來又寫了一篇文章和demo,感興趣可以去我的這篇文章看看 iOS 音樂播放器之鎖屏效果+歌詞解析

音樂.gif
鎖屏歌詞.PNG

詳情可以參考我之前的文章:
iOS 音樂播放器之鎖屏效果+歌詞解析
仿簡書分享-UIActivityViewController系統(tǒng)原生分享
iOS技術(shù)網(wǎng)站和常用軟件
iOS后臺音頻播放及鎖屏歌詞
文字進度

四、畫板

可以調(diào)畫筆的粗細,深淺,顏色,也可以選擇圖片涂鴉:


畫板.gif

相關(guān)文章:CALayer系列、CGContextRef、UIBezierPath、文本屬性Attributes、
畫板demo https://github.com/wslcmk/draw.git

五、更多

這里有簡易地圖,手電筒,二維碼,計分器,最好在真機上跑。

更多.gif
后臺定位.png

上面的效果需要設(shè)置 self.locationManager.allowsBackgroundLocationUpdates = YES;

我的github ,歡迎star!別忘了哦!

快來贊我啊.gif

歡迎掃描下方二維碼關(guān)注——iOS開發(fā)進階之路——微信公眾號:iOS2679114653
本公眾號是一個iOS開發(fā)者們的分享,交流,學習平臺,會不定時的發(fā)送技術(shù)干貨,源碼,也歡迎大家積極踴躍投稿,(擇優(yōu)上頭條) _分享自己開發(fā)攻城的過程,心得,相互學習,共同進步,成為攻城獅中的翹楚!

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

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,375評論 4 61
  • 吳蓓老師,一位多年自然教育,華德福教育和生態(tài)生活的踐行者,今天給我們分享的主題是“兒童的自然教育和生活教育及...
    金黃的稻谷閱讀 1,086評論 2 0
  • 今天看了最近一期《奇葩說》的節(jié)目辯題就是“不給別人添麻煩是不是美德”。這個問腿也困擾了我好久好久,百思不得其解。突...
    和光同塵_c779閱讀 1,399評論 0 2
  • 第一章 爺爺 我所描述的都是真實的,自己親身經(jīng)歷的,我就是想寫下來分享一下我身邊的故事。 我出生在一個普通的家庭,...
    本性宇叔閱讀 370評論 0 0
  • 傍晚,在太陽剛走月亮又沒來的時候,喧鬧的城市,已經(jīng)閃起了星點的光彩,光彩連成了線,復(fù)雜交錯,神秘美麗,那就是一條...
    小白鞋造卻黑閱讀 160評論 0 0

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