不要在viewDidLoad中构建复杂的界面

         开发中一个详情界面的内容非常多,在从列表页进入详情界面时,在列表界面停顿很长时间后才进入详情界面。原因就是详情界面的初始化放在了viewDidLoad中,而在此时间内,会一直停在列表界面,用户的使用感受很不好。
解决方案:
1、在viewDidLoad中显法一个加载界面,

2、将界面初始化放在viewDidAppear中。

这样,用户就不会在从列表界面进入详情界面时界面时,等很长时间了。


@interface DetailVC :UIViewController

{

   BOOL _isAppear;

    UIView* _loadingView;

}


- (void)viewDidLoad

{

    [superviewDidLoad];

    

     _loadingView = [[UIViewalloc]initWithFrame:CGRectMake(0,200,320,30)];

     _loadingView.backgroundColor = [UIColorclearColor];

     [self.viewaddSubview:_loadingView];

        

     UIActivityIndicatorView *aiv = [[UIActivityIndicatorViewalloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];

     aiv.frame =CGRectMake(99,3,25,25);

     aiv.backgroundColor = [UIColorclearColor];

     [_loadingViewaddSubview:aiv];

     [aivstartAnimating];


     UILabel* lblPrompt = [[UILabelalloc]initWithFrame:CGRectMake(129,0,98,30)];

     lblPrompt.backgroundColor = [UIColorclearColor];

     lblPrompt.font = [UIFontsystemFontOfSize:15.0];

     lblPrompt.textColor =DEEP_FOUNT_COLOR;

     lblPrompt.text =@"正在加载中······";

     [_loadingViewaddSubview:lblPrompt];

}


-(void)viewDidAppear:(BOOL)animated

{

    [superviewDidAppear:animated];

    

   if(_isAppear){return ;}

    _isAppear = YES;


    //注意!!!在此处执行复杂的界面初始化工作。   


    if(_loadingView){[_loadingViewremoveFromSuperview];}

}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值