欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS實現(xiàn)聯(lián)系人列表功能

 更新時間:2021年08月25日 15:34:00   作者:風(fēng)淺月明  
這篇文章主要為大家詳細(xì)介紹了iOS實現(xiàn)聯(lián)系人列表功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了iOS實現(xiàn)聯(lián)系人列表功能的具體代碼,供大家參考,具體內(nèi)容如下

按照順序排列聯(lián)系人列表,需要引入一些工具(詳見demo):

主要部分代碼:

#import "LinkMan.h"
#import "LinkmanCell.h"
#import "LinkmanSelectCell.h"
#import "pinyin.h"
#import "ChineseString.h"
@interface LinkMan ()<UISearchBarDelegate,UITextFieldDelegate,UITableViewDelegate,UITableViewDataSource>
@property (weak, nonatomic) IBOutlet UILabel    *titleLab;          //標(biāo)題
@property (weak, nonatomic) IBOutlet UIView     *titleView;         //標(biāo)題欄
@property (weak, nonatomic) IBOutlet UITableView*gTableView;        //聯(lián)系人TV
@property (weak, nonatomic) IBOutlet UIButton   *sureBut;           //確定
@property (nonatomic ,strong) NSMutableArray    *gPeopleArr;        //一級聯(lián)系人
@property (nonatomic ,strong) NSMutableArray    *gMarkKeyArr;       //標(biāo)識
@property (nonatomic ,strong) NSMutableArray    *gLinkManArr;       //二級聯(lián)系人
 
@end
 
@implementation LinkMan
@synthesize gTableView;
@synthesize gPeopleArr;
@synthesize gLinkManArr;
@synthesize gMarkKeyArr;
 
 
-(void)dealloc{
    gPeopleArr = nil;
    gMarkKeyArr = nil;
}
 
- (void)viewDidLoad
{
    [super viewDidLoad];
    //清空選擇聯(lián)系人
    NSUserDefaults *userInfoDefaults = [NSUserDefaults standardUserDefaults];
    [userInfoDefaults setObject:nil forKey:@"linkmanSelectList"];
    [userInfoDefaults synchronize];
    
    //標(biāo)題欄
    [self cTitleBar];
    
    //右側(cè)選擇欄
    gMarkKeyArr = [[NSMutableArray alloc] init];
    gPeopleArr = [[NSMutableArray alloc] init];
    gLinkManArr = [[NSMutableArray alloc] init];
  
    //網(wǎng)絡(luò)數(shù)據(jù)請求
    [self cNetWorkLinkman];
}
 
//標(biāo)題欄
-(void)cTitleBar{
    int ver = [[[UIDevice currentDevice] systemVersion] intValue];
    float height = 44;
    if(ver >= 7){
        height = 64;
    }
    CGRect titleRect = _titleView.frame;
    titleRect.size.height = height;
    [_titleView setFrame:titleRect];
    
}
 
//返回
- (IBAction)returnAction:(id)sender {
    //聯(lián)系人可多選
    NSUserDefaults *userInfoDefaults = [NSUserDefaults standardUserDefaults];
    [userInfoDefaults setObject:@"0" forKey:@"linkmanSelect"];
    [userInfoDefaults synchronize];
    //二級
    if(gLinkManArr.count > 0){
        [gLinkManArr removeAllObjects];
        [_titleLab setText:@"聯(lián)系人"];
        [gTableView reloadData];
    }else{//一級
        NSUserDefaults *noneDefaults = [NSUserDefaults standardUserDefaults];
        [noneDefaults setObject:@"1" forKey:@"noneproject"];
        [noneDefaults synchronize];
        [self.navigationController popViewControllerAnimated:YES ];
    }
}
 
//按照拼音首字母排序
- (NSMutableArray *)getChineseStringArr:(NSMutableArray *)arrToSort {
    NSMutableArray *chineseStringsArray = [NSMutableArray array];
    for(int i = 0; i < [arrToSort count]; i++) {
        ChineseString *chineseString=[[ChineseString alloc]init];
        NSDictionary *tempDict = (NSDictionary *)[arrToSort objectAtIndex:i];
        chineseString.string=[NSString stringWithString:[tempDict objectForKey:@"name"]];
        chineseString.pID = [NSString stringWithString:[tempDict objectForKey:@"id"]];
        if(chineseString.string==nil){
            chineseString.string=@"";
        }
        if(![chineseString.string isEqualToString:@""]){
            //join the pinYin
            NSString *pinYinResult = [NSString string];
            for(int j = 0;j < chineseString.string.length; j++) {
                NSString *singlePinyinLetter = [[NSString stringWithFormat:@"%c",
                                                 pinyinFirstLetter([chineseString.string characterAtIndex:j])]uppercaseString];
                pinYinResult = [pinYinResult stringByAppendingString:singlePinyinLetter];
            }
            chineseString.pinYin = pinYinResult;
        } else {
            chineseString.pinYin = @"";
        }
        [chineseStringsArray addObject:chineseString];
        //        [chineseString release];
    }
    //sort the ChineseStringArr by pinYin 拼音排序
    NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"pinYin" ascending:YES]];
    [chineseStringsArray sortUsingDescriptors:sortDescriptors];
    NSMutableArray *arrayForArrays = [NSMutableArray array];
    BOOL checkValueAtIndex= NO;  //flag to check
    NSMutableArray *TempArrForGrouping = nil;
    [gMarkKeyArr removeAllObjects];
    
    for(int index = 0; index < [chineseStringsArray count]; index++)
    {
        ChineseString *chineseStr = (ChineseString *)[chineseStringsArray objectAtIndex:index];
        NSMutableString *strchar= [NSMutableString stringWithString:chineseStr.pinYin];
        NSString *sr= [strchar substringToIndex:1];
        
        if(![gMarkKeyArr containsObject:[sr uppercaseString]])//在這里我檢查字符是否已經(jīng)選擇頭鍵
        {
            [gMarkKeyArr addObject:[sr uppercaseString]];
            TempArrForGrouping = [[NSMutableArray alloc] initWithObjects:nil];
            checkValueAtIndex = NO;
        }
        if([gMarkKeyArr containsObject:[sr uppercaseString]])
        {
            [TempArrForGrouping addObject:[chineseStringsArray objectAtIndex:index]];
            if(checkValueAtIndex == NO)
            {
                [arrayForArrays addObject:TempArrForGrouping];
                checkValueAtIndex = YES;
            }
        }
    }
    
    return arrayForArrays;
}
 
//數(shù)據(jù)準(zhǔn)備
-(NSMutableDictionary *)linkmanAction:(NSMutableDictionary *)listDict{
    NSMutableArray *branchPersonArr = [[NSMutableArray alloc] init];
    for (int k = 1; k < 20; k ++) {
        NSMutableDictionary *branchPersonDict = [[NSMutableDictionary alloc] init];
        NSInteger arcRandom = arc4random()%1000;
        
        [branchPersonDict setObject:[NSString stringWithFormat:@"%d",arcRandom*k] forKey:@"id"];
        [branchPersonDict setObject:[NSString stringWithFormat:@"%d",arcRandom*k] forKey:@"name"];
        
        NSMutableArray *branchArr = [[NSMutableArray alloc] init];
        for (int i = 1; i < 20; i ++) {
            NSMutableDictionary *branchDict = [[NSMutableDictionary alloc] init];
            NSInteger arcRandom = arc4random()%10000 + 10000;
            [branchDict setObject:[NSString stringWithFormat:@"%d",arcRandom*i] forKey:@"id"];
            [branchDict setObject:[NSString stringWithFormat:@"%d",arcRandom*i] forKey:@"name"];
            [branchDict setObject:@"110" forKey:@"phone"];
            [branchDict setObject:@"" forKey:@"header"];
            [branchArr addObject:branchDict];
        }
        [branchPersonDict setObject:branchArr forKey:@"member"];
        [branchPersonArr addObject:branchPersonDict];
    }
    
    [listDict setObject:branchPersonArr forKey:@"branch"];
    
    return listDict;
}
 
//網(wǎng)絡(luò)數(shù)據(jù)請求
-(void)cNetWorkLinkman{
    NSMutableDictionary *listDict = [[NSMutableDictionary alloc] init];
    listDict = [self linkmanAction:listDict];
   
    NSArray *branchArr = [listDict objectForKey:@"branch"];
    NSArray *projectArr;
    NSMutableArray *tempArr = [branchArr mutableCopy];
    for (int j = 0; j <projectArr.count; j ++) {
        NSDictionary *prodict = [projectArr objectAtIndex:j];
        [tempArr addObject:prodict];
    }
    
    //從網(wǎng)絡(luò)接口獲取數(shù)據(jù)
    if(listDict){
        //聯(lián)系人列表
        NSUserDefaults *userInfoDefaults = [NSUserDefaults standardUserDefaults];
        [userInfoDefaults setObject:[self chineseStringArr:tempArr] forKey:@"linkmanList"];
        [userInfoDefaults synchronize];
        [gTableView reloadData];
    }
   
}
//幾組
- (NSInteger)numberOfSectionsInTableView:(UITableView *)aTableView {
    
    if(gLinkManArr.count > 0){//二級
        if(gLinkManArr!=nil && gLinkManArr.count > 0){
            gLinkManArr = [self getChineseStringArr:gLinkManArr];
            return gLinkManArr.count;
        }
    }else{//一級
        [_titleLab setText:@"聯(lián)系人"];
        //聯(lián)系人列表
        NSUserDefaults *userInfoDefaults = [NSUserDefaults standardUserDefaults];
        NSMutableArray *linkmanMarr = [userInfoDefaults objectForKey:@"linkmanList"];
        if(linkmanMarr!=nil && linkmanMarr.count > 0){
            gPeopleArr = [self getChineseStringArr:linkmanMarr];
            return gPeopleArr.count;
        }
    }
    
    return 0;
}
 
//幾行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    [_sureBut setHidden:YES];
    if(gLinkManArr.count > 0){//二級
        [_sureBut setHidden:NO];
        NSArray *temp = [gLinkManArr objectAtIndex:section];
        return temp.count;
    }else{//一級
        //聯(lián)系人列表
        NSUserDefaults *userInfoDefaults = [NSUserDefaults standardUserDefaults];
        NSMutableArray *linkmanMarr = [userInfoDefaults objectForKey:@"linkmanList"];
        if(linkmanMarr!=nil && linkmanMarr.count > 0){
            //聯(lián)系人狀態(tài)
            gPeopleArr = [self getChineseStringArr:linkmanMarr];
            NSArray *temp = [gPeopleArr objectAtIndex:section];
            return temp.count;
        }
    }
    
    return 0;
}
//*字母排序搜索
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{
    return gMarkKeyArr;
}
//搜索時顯示按索引第幾組
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index{
    NSInteger count = 0;
    
    for(NSString *character in gMarkKeyArr){
        if([character isEqualToString:title]){
            return count;
        }
        count ++;
    }
    return count;
}
//標(biāo)頭
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
    return [gMarkKeyArr objectAtIndex:section];
}
//TableView賦值
- (UITableViewCell *)tableView:(UITableView *)tableview cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
    //聯(lián)系人可多選
    NSUserDefaults *userInfoDefaults = [NSUserDefaults standardUserDefaults];
    NSString *linkmanSelect = [userInfoDefaults objectForKey:@"linkmanSelect"];
    
    if([linkmanSelect isEqualToString:@"1"]){
        static NSString *cellIdentifier=@"LinkmanSelectCell";
        LinkmanSelectCell *cell=[tableview dequeueReusableCellWithIdentifier:cellIdentifier];
        if (!cell) {
            cell = (LinkmanSelectCell*)[[[NSBundle mainBundle] loadNibNamed:@"LinkmanSelectCell" owner:nil options:nil] objectAtIndex:0];
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
        }
        cell.backgroundColor=[UIColor clearColor];
        [cell  setClipsToBounds:YES];
        //二級
        if(gLinkManArr.count > 0){
            if(gLinkManArr.count > indexPath.section){
                NSArray *onegp = [gLinkManArr objectAtIndex:indexPath.section];
                ChineseString *strLinkMan = [onegp objectAtIndex:indexPath.row];
                [cell cSetValueID:strLinkMan.pID andLinkMan:strLinkMan.string andBranch:@"" andPhoneNum:nil];
            }else{
                [cell cSetValueID:@"" andLinkMan:@"" andBranch:@"" andPhoneNum:nil];
            }
        }else{//一級
            if(gPeopleArr.count > indexPath.section){
                NSArray *onegp = [gPeopleArr objectAtIndex:indexPath.section];
                ChineseString *strLinkMan = [onegp objectAtIndex:indexPath.row];
                [cell cSetValueID:strLinkMan.pID andLinkMan:strLinkMan.string andBranch:@"" andPhoneNum:nil];
            }else{
                [cell cSetValueID:@"" andLinkMan:@"" andBranch:@"" andPhoneNum:nil];
            }
        }
        return cell;
        
    }else{
        static NSString *cellIdentifier=@"LinkmanCell";
        LinkmanCell *cell=[tableview dequeueReusableCellWithIdentifier:cellIdentifier];
        if (!cell) {
            cell = (LinkmanCell*)[[[NSBundle mainBundle] loadNibNamed:@"LinkmanCell" owner:nil options:nil] objectAtIndex:0];
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
        }
        cell.backgroundColor=[UIColor clearColor];
        [cell  setClipsToBounds:YES];
        
        //二級
        if(gLinkManArr.count > 0){
            if(gLinkManArr.count > indexPath.section){
                NSArray *onegp = [gLinkManArr objectAtIndex:indexPath.section];
                ChineseString *strLinkMan = [onegp objectAtIndex:indexPath.row];
                [cell cSetValueID:strLinkMan.pID andLinkMan:strLinkMan.string andBranch:@"" andPhoneNum:nil];
            }else{
                [cell cSetValueID:@"" andLinkMan:@"" andBranch:@"" andPhoneNum:nil];
            }
        }else{//一級
            if(gPeopleArr.count > indexPath.section){
                NSArray *onegp = [gPeopleArr objectAtIndex:indexPath.section];
                ChineseString *strLinkMan = [onegp objectAtIndex:indexPath.row];
                [cell cSetValueID:strLinkMan.pID andLinkMan:strLinkMan.string andBranch:@"" andPhoneNum:nil];
            }else{
                [cell cSetValueID:@"" andLinkMan:@"" andBranch:@"" andPhoneNum:nil];
            }
        }
        return cell;
    }
}
 
 
//選中時執(zhí)行的操作
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    [self.view endEditing:YES];
    LinkmanCell *tempCell = (LinkmanCell *)[tableView cellForRowAtIndexPath:indexPath];
 
    //二級
    if(gLinkManArr.count > 0){
       
    }else{//一級
        NSInteger theIndex = 0;
        for (int i = 0; i <= indexPath.section ; i ++) {
            NSArray *tempPeoArr = [gPeopleArr objectAtIndex:i];
            if(i == indexPath.section){
                theIndex = theIndex + indexPath.row;
            }else{
                theIndex = theIndex + tempPeoArr.count;
            }
            
        }
 
        //聯(lián)系人列表
        NSUserDefaults *userInfoDefaults = [NSUserDefaults standardUserDefaults];
        NSMutableArray *linkmanMarr = [userInfoDefaults objectForKey:@"linkmanList"];
        NSDictionary *linkmanDict;
        if(linkmanMarr.count > theIndex){
            linkmanDict = [linkmanMarr objectAtIndex:theIndex];
        }else{
            return;
        }
        NSArray *linkArr = [linkmanDict objectForKey:@"member"];
        if(linkArr.count > 0){
            gLinkManArr = [linkArr mutableCopy];
            [_titleLab setText:tempCell.gLinkMan.text];
            //聯(lián)系人可多選
            NSUserDefaults *userInfoDefaults = [NSUserDefaults standardUserDefaults];
            [userInfoDefaults setObject:@"1" forKey:@"linkmanSelect"];
            [userInfoDefaults synchronize];
            
            [gTableView reloadData];
        }
    }
}
 
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return 44.0;
}
//UITableViewDelegate,UITableViewDataSource
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    UIView *tempView = [[UIView alloc] initWithFrame:CGRectMake(CGFLOAT_MIN, CGFLOAT_MIN, CGFLOAT_MIN, 22)];
    [tempView setBackgroundColor:[UIColor colorWithRed:248.0/255 green:248.0/255 blue:248.0/255 alpha:1]];
    UILabel *titleLab = [[UILabel alloc] initWithFrame:CGRectMake(15, 0, 100, 22)];
    [titleLab setBackgroundColor:[UIColor clearColor]];
    if(gMarkKeyArr.count > section){
        [titleLab setText:[gMarkKeyArr objectAtIndex:section]];
    }else{
        [titleLab setText:@""];
    }
    [titleLab setTextColor:[UIColor colorWithRed:34.0/255 green:34.0/255 blue:34.0/255 alpha:1]];
    [titleLab setFont:[UIFont boldSystemFontOfSize:17]];
    [tempView addSubview:titleLab];
    
    return tempView;
}
 
//按照拼音首字母排序
- (NSMutableArray *)chineseStringArr:(NSMutableArray *)arrToSort {
    NSMutableArray *chineseStringsArray = [NSMutableArray array];
    for(int i = 0; i < [arrToSort count]; i++) {
        ChineseString *chineseString=[[ChineseString alloc]init];
        NSDictionary *tempDict = (NSDictionary *)[arrToSort objectAtIndex:i];
        chineseString.string=[NSString stringWithString:[tempDict objectForKey:@"name"]];
        chineseString.pID = [NSString stringWithString:[tempDict objectForKey:@"id"]];
        //chineseString.bID = [NSString stringWithString:[tempDict objectForKey:@"bid"]];
        if(chineseString.string==nil){
            chineseString.string=@"";
        }
        if(![chineseString.string isEqualToString:@""]){
            //join the pinYin
            NSString *pinYinResult = [NSString string];
            for(int j = 0;j < chineseString.string.length; j++) {
                NSString *singlePinyinLetter = [[NSString stringWithFormat:@"%c",
                                                 pinyinFirstLetter([chineseString.string characterAtIndex:j])]uppercaseString];
                pinYinResult = [pinYinResult stringByAppendingString:singlePinyinLetter];
            }
            chineseString.pinYin = pinYinResult;
        } else {
            chineseString.pinYin = @"";
        }
        [chineseStringsArray addObject:chineseString];
        //        [chineseString release];
    }
    //sort the ChineseStringArr by pinYin 拼音排序
    NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"pinYin" ascending:YES]];
    [chineseStringsArray sortUsingDescriptors:sortDescriptors];
   
    
    NSMutableArray *arrayForArrays = [[NSMutableArray alloc]init];
    for (int i = 0; i < chineseStringsArray.count ; i ++) {
        ChineseString *tempChinese = [chineseStringsArray objectAtIndex:i];
        NSString *chineseName = tempChinese.string;
        for (int j = 0; j < arrToSort.count ; j ++) {
            NSDictionary *tempSortDict = [arrToSort objectAtIndex:j];
            NSString *sortName = [tempSortDict objectForKey:@"name"];
            if([chineseName isEqualToString:sortName]){
                [arrayForArrays addObject:tempSortDict];
            }
        }
    }
    
    return arrayForArrays;
}
 
//確定
- (IBAction)sureAction:(id)sender {
    //已選擇聯(lián)系人
    NSUserDefaults *userInfoDefaults = [NSUserDefaults standardUserDefaults];
    NSMutableArray *selectList = [userInfoDefaults objectForKey:@"linkmanSelectList"];
    if(selectList != nil){
        NSString *messageStr = [NSString stringWithFormat:@"您選擇了%d個對象",selectList.count];
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:messageStr delegate:nil cancelButtonTitle:@"確定" otherButtonTitles:nil, nil];
        [alert show];
        
        [userInfoDefaults setObject:nil forKey:@"linkmanSelectList"];
        [userInfoDefaults synchronize];
    }
}
 
@end

Demo:iOS實現(xiàn)聯(lián)系人列表

示圖:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • IOS 改變鍵盤顏色代碼

    IOS 改變鍵盤顏色代碼

    這篇文章主要介紹了IOS 改變鍵盤顏色代碼,十分的簡單實用,有需要的小伙伴可以參考下。
    2015-05-05
  • IOS 開發(fā)之 UITextField限制字?jǐn)?shù)的方法

    IOS 開發(fā)之 UITextField限制字?jǐn)?shù)的方法

    這篇文章主要介紹了IOS 開發(fā)之 UITextField限制字?jǐn)?shù)的方法的相關(guān)資料,這里提供實現(xiàn)限制最大字?jǐn)?shù)的方法,需要的朋友可以參考下
    2017-08-08
  • IOS微信端confirm以及alert去掉網(wǎng)址的實例代碼

    IOS微信端confirm以及alert去掉網(wǎng)址的實例代碼

    下面小編就為大家分享一篇IOS微信端confirm以及alert去掉網(wǎng)址的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • iOS模仿電子書首頁實現(xiàn)書架布局樣式

    iOS模仿電子書首頁實現(xiàn)書架布局樣式

    這篇文章主要為大家詳細(xì)介紹了iOS實現(xiàn)類似電子書首頁效果樣式,實現(xiàn)書架布局樣式,感興趣的小伙伴們可以參考一下
    2016-03-03
  • ios開發(fā)Flutter之?dāng)?shù)據(jù)存儲

    ios開發(fā)Flutter之?dāng)?shù)據(jù)存儲

    這篇文章主要為大家介紹了ios開發(fā)Flutter之?dāng)?shù)據(jù)存儲的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • iOS滑動解鎖、滑動獲取驗證碼效果的實現(xiàn)代碼

    iOS滑動解鎖、滑動獲取驗證碼效果的實現(xiàn)代碼

    這篇文章主要介紹了iOS滑動解鎖、滑動獲取驗證碼效果的實現(xiàn)代碼,小編認(rèn)為還不錯,非常實用,所有分享給大家,感興趣的朋友可以參考下
    2016-05-05
  • IOS ObjectiveC中的賦值與對象拷貝

    IOS ObjectiveC中的賦值與對象拷貝

    這篇文章主要介紹了IOS ObjectiveC中的賦值與對象拷貝的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09
  • 詳細(xì)整理iOS中UITableView的性能優(yōu)化

    詳細(xì)整理iOS中UITableView的性能優(yōu)化

    最近在微博上看到一個很好的開源項目,是關(guān)于如何優(yōu)化UITableView的,加上正好最近也在優(yōu)化項目中的類似朋友圈功能這塊,思考了很多關(guān)于UITableView的優(yōu)化技巧,所以決定詳細(xì)的整理下對優(yōu)化UITableView的理解,需要的朋友們可以參考借鑒。
    2017-03-03
  • iOS實現(xiàn)頭部拉伸效果

    iOS實現(xiàn)頭部拉伸效果

    這篇文章主要為大家詳細(xì)介紹了iOS實現(xiàn)頭部拉伸效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Navigation bar的注意事項詳解

    Navigation bar的注意事項詳解

    本文主要介紹了Navigation bar的注意事項。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01

最新評論