菜鸟教程小白 发表于 2022-12-12 23:34:58

iphone - ios setHidden :NO at begin of a long method does not show on display


                                            <p><p>我有一个从 Web 服务加载数据的方法。
在该方法的开始,我喜欢显示一个 UIActivityIndi​​cator。</p>

<p>但仅将隐藏更改为 NO 不会重绘 UIView。
所以 UIActivityIndi​​cator 是在长时间加载数据后可见的,这肯定为时已晚。</p>

<p>那么如何告诉 UIView 在数据加载开始之前重绘 activityIndi​​cator 呢?</p>

<pre><code>- (IBAction)loadData{
    ;
   // here the activtyIndicator should appear
   ...
    loadlongdataFromNet..
    ;
   // here the activtyIndicator should disappear
</code></pre>

<p>}</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p><strong>切勿在主线程上执行网络和其他计算密集型操作!!!</strong></p>

<p>它将卡住/阻止用户界面。您应该将与网络相关的长处理移至后台线程:</p>

<pre><code>- (void)loadData
{
    ; // use this instead of setHidden
    ;
}

- (void)reallyLoadData
{
    // network-heavy processing
    // then:
    ;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - ios setHidden :NO at begin of a long method does not show on display,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/13124226/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/13124226/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - ios setHidden :NO at begin of a long method does not show on display