ios 微信朋友圈 開發技術分析

因爲工做需求,須要開發一個相似的朋友圈功能,用於工做彙報。
ios


一、地理信息獲取,我採用了高德api   文檔以下  (這個仍是簡單的,定位方便)git

#import <AMapLocationKit/AMapLocationKit.h>

- (void)dingwei {
    
    [_textView resignFirstResponder];
    
    [AMapLocationServices sharedServices].apiKey =@"這裏是你申請的token";
    locationManager = [[AMapLocationManager alloc] init];
    locationManager.delegate = self;
    
    [locationManager setDesiredAccuracy:kCLLocationAccuracyHundredMeters];
    
    
    // 帶逆地理(返回座標和地址信息)
    [locationManager requestLocationWithReGeocode:YES completionBlock:^(CLLocation *location, AMapLocationReGeocode *regeocode, NSError *error) {
        
        if (error)
        {
            NSLog(@"locError:{%ld - %@};", (long)error.code, error.localizedDescription);
            self.addressLabel.text=error.localizedDescription;
        }
        
        if (regeocode)
        {
            //regcode包含了地址信息 打印下就能夠獲取

        }
        
        
    }];
    
}



二、選擇相機及相冊 (具體代碼能夠看我以前的文章)github

三、圖片上傳 (這快我搞了好久,一直都不明白,採用二進制的方式,這裏也參考我以前的單獨文章)web

四、點擊圖片放大(這個也搞了好久,==!)api

//思路
//一、先獲取原圖的位置。
//二、點擊圖片後,圖片居中  這裏加載2層,一層背景 一層圖片。我用了AFNetworking 2.6版本的
//三、異步加載圖片,我這裏用了SDWebImage 就簡單了
//四、進度條要的吧,一開始用了webview 效果很爛(放棄了) 後來用SDProgressView
//五、點擊放大 而後縮回去,記住用圖片和背景都添加在window上 是並列關係。否則縮放的時候問題大大的。

五、文本高度問題。異步

  //工做日誌
   UITextView * blogView=[cell viewWithTag:4];
    blogView.text=[dic objectForKey:@"content"];
    
    CGSize  size = [blogView.text sizeWithFont:[UIFont systemFontOfSize:14] constrainedToSize:CGSizeMake(240, 2000)
                                 lineBreakMode: UILineBreakModeWordWrap];
    //不容許滾動
    blogView.scrollEnabled=NO;
    
    CGRect  blogFrame=blogView.frame;
    blogFrame.size.height=size.height+10;//獲取自適應文本內容高度
    blogView.frame=blogFrame;
    [blogView endEditing:NO];


六、圖片高度問題  這裏要說明白的是,上傳圖片到後臺,要存儲縮略圖的寬和高。而後獲取圖片的時候,先把圖片大小設置好。spa

#pragma mark 自適應高度
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell *cell = [self tableView:_tableView cellForRowAtIndexPath:indexPath];
    
    return cell.frame.size.height;
}



參考資料:日誌

http://lbs.amap.com/api/ios-location-sdk/summary/code

https://github.com/AFNetworking/AFNetworking blog

https://github.com/gsdios/SDProgressView

https://github.com/rs/SDWebImage

相關文章
相關標籤/搜索