mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
75 lines
17 KiB
Markdown
75 lines
17 KiB
Markdown
---
|
||
id: version-0.36-progressviewios
|
||
title: progressviewios
|
||
original_id: progressviewios
|
||
---
|
||
<a id="content"></a><h1><a class="anchor" name="progressviewios"></a>ProgressViewIOS <a class="hash-link" href="docs/progressviewios.html#progressviewios">#</a></h1><div><div><p>Use <code>ProgressViewIOS</code> to render a UIProgressView on iOS.</p></div><h3><a class="anchor" name="props"></a>Props <a class="hash-link" href="docs/progressviewios.html#props">#</a></h3><div class="props"><div class="prop"><h4 class="propTitle"><a class="anchor" name="view"></a><a href="docs/view.html#props">View props...</a> <a class="hash-link" href="docs/progressviewios.html#view">#</a></h4></div><div class="prop"><h4 class="propTitle"><a class="anchor" name="progress"></a>progress <span class="propType">PropTypes.number</span> <a class="hash-link" href="docs/progressviewios.html#progress">#</a></h4><div><p>The progress value (between 0 and 1).</p></div></div><div class="prop"><h4 class="propTitle"><a class="anchor" name="progressimage"></a>progressImage <span class="propType">Image.propTypes.source</span> <a class="hash-link" href="docs/progressviewios.html#progressimage">#</a></h4><div><p>A stretchable image to display as the progress bar.</p></div></div><div class="prop"><h4 class="propTitle"><a class="anchor" name="progresstintcolor"></a>progressTintColor <span class="propType">PropTypes.string</span> <a class="hash-link" href="docs/progressviewios.html#progresstintcolor">#</a></h4><div><p>The tint color of the progress bar itself.</p></div></div><div class="prop"><h4 class="propTitle"><a class="anchor" name="progressviewstyle"></a>progressViewStyle <span class="propType">PropTypes.oneOf(['default', 'bar'])</span> <a class="hash-link" href="docs/progressviewios.html#progressviewstyle">#</a></h4><div><p>The progress bar style.</p></div></div><div class="prop"><h4 class="propTitle"><a class="anchor" name="trackimage"></a>trackImage <span class="propType">Image.propTypes.source</span> <a class="hash-link" href="docs/progressviewios.html#trackimage">#</a></h4><div><p>A stretchable image to display behind the progress bar.</p></div></div><div class="prop"><h4 class="propTitle"><a class="anchor" name="tracktintcolor"></a>trackTintColor <span class="propType">PropTypes.string</span> <a class="hash-link" href="docs/progressviewios.html#tracktintcolor">#</a></h4><div><p>The tint color of the progress bar track.</p></div></div></div></div><p class="edit-page-block">You can <a target="_blank" href="https://github.com/facebook/react-native/blob/master/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js">edit the content above on GitHub</a> and send us a pull request!</p><div><div><table width="100%"><tbody><tr><td><h3><a class="anchor" name="examples"></a>Examples <a class="hash-link" href="docs/progressviewios.html#examples">#</a></h3></td><td style="text-align:right;"><a target="_blank" href="https://github.com/facebook/react-native/blob/master/Examples/UIExplorer/js/ProgressViewIOSExample.js">Edit on GitHub</a></td></tr></tbody></table><div class="example-container"><div class="prism language-javascript"><span class="token string">'use strict'</span><span class="token punctuation">;</span>
|
||
|
||
<span class="token keyword">var</span> React <span class="token operator">=</span> <span class="token function">require<span class="token punctuation">(</span></span><span class="token string">'react'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||
<span class="token keyword">var</span> ReactNative <span class="token operator">=</span> <span class="token function">require<span class="token punctuation">(</span></span><span class="token string">'react-native'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||
<span class="token keyword">var</span> <span class="token punctuation">{</span>
|
||
ProgressViewIOS<span class="token punctuation">,</span>
|
||
StyleSheet<span class="token punctuation">,</span>
|
||
View<span class="token punctuation">,</span>
|
||
<span class="token punctuation">}</span> <span class="token operator">=</span> ReactNative<span class="token punctuation">;</span>
|
||
<span class="token keyword">var</span> TimerMixin <span class="token operator">=</span> <span class="token function">require<span class="token punctuation">(</span></span><span class="token string">'react-timer-mixin'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||
|
||
<span class="token keyword">var</span> ProgressViewExample <span class="token operator">=</span> React<span class="token punctuation">.</span><span class="token function">createClass<span class="token punctuation">(</span></span><span class="token punctuation">{</span>
|
||
mixins<span class="token punctuation">:</span> <span class="token punctuation">[</span>TimerMixin<span class="token punctuation">]</span><span class="token punctuation">,</span>
|
||
|
||
<span class="token function">getInitialState<span class="token punctuation">(</span></span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||
<span class="token keyword">return</span> <span class="token punctuation">{</span>
|
||
progress<span class="token punctuation">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
|
||
<span class="token punctuation">}</span><span class="token punctuation">;</span>
|
||
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||
|
||
<span class="token function">componentDidMount<span class="token punctuation">(</span></span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">updateProgress<span class="token punctuation">(</span></span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||
|
||
<span class="token function">updateProgress<span class="token punctuation">(</span></span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||
<span class="token keyword">var</span> progress <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>state<span class="token punctuation">.</span>progress <span class="token operator">+</span> <span class="token number">0.01</span><span class="token punctuation">;</span>
|
||
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">setState<span class="token punctuation">(</span></span><span class="token punctuation">{</span> progress <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">requestAnimationFrame<span class="token punctuation">(</span></span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">></span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">updateProgress<span class="token punctuation">(</span></span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||
|
||
<span class="token function">getProgress<span class="token punctuation">(</span></span>offset<span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||
<span class="token keyword">var</span> progress <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span>state<span class="token punctuation">.</span>progress <span class="token operator">+</span> offset<span class="token punctuation">;</span>
|
||
<span class="token keyword">return</span> Math<span class="token punctuation">.</span><span class="token function">sin<span class="token punctuation">(</span></span>progress <span class="token operator">%</span> Math<span class="token punctuation">.</span>PI<span class="token punctuation">)</span> <span class="token operator">%</span> <span class="token number">1</span><span class="token punctuation">;</span>
|
||
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||
|
||
<span class="token function">render<span class="token punctuation">(</span></span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||
<span class="token keyword">return</span> <span class="token punctuation">(</span>
|
||
<View style<span class="token operator">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span>container<span class="token punctuation">}</span><span class="token operator">></span>
|
||
<ProgressViewIOS style<span class="token operator">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span>progressView<span class="token punctuation">}</span> progress<span class="token operator">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">getProgress<span class="token punctuation">(</span></span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">}</span><span class="token operator">/</span><span class="token operator">></span>
|
||
<ProgressViewIOS style<span class="token operator">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span>progressView<span class="token punctuation">}</span> progressTintColor<span class="token operator">=</span><span class="token string">"purple"</span> progress<span class="token operator">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">getProgress<span class="token punctuation">(</span></span><span class="token number">0.2</span><span class="token punctuation">)</span><span class="token punctuation">}</span><span class="token operator">/</span><span class="token operator">></span>
|
||
<ProgressViewIOS style<span class="token operator">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span>progressView<span class="token punctuation">}</span> progressTintColor<span class="token operator">=</span><span class="token string">"red"</span> progress<span class="token operator">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">getProgress<span class="token punctuation">(</span></span><span class="token number">0.4</span><span class="token punctuation">)</span><span class="token punctuation">}</span><span class="token operator">/</span><span class="token operator">></span>
|
||
<ProgressViewIOS style<span class="token operator">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span>progressView<span class="token punctuation">}</span> progressTintColor<span class="token operator">=</span><span class="token string">"orange"</span> progress<span class="token operator">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">getProgress<span class="token punctuation">(</span></span><span class="token number">0.6</span><span class="token punctuation">)</span><span class="token punctuation">}</span><span class="token operator">/</span><span class="token operator">></span>
|
||
<ProgressViewIOS style<span class="token operator">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span>progressView<span class="token punctuation">}</span> progressTintColor<span class="token operator">=</span><span class="token string">"yellow"</span> progress<span class="token operator">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">getProgress<span class="token punctuation">(</span></span><span class="token number">0.8</span><span class="token punctuation">)</span><span class="token punctuation">}</span><span class="token operator">/</span><span class="token operator">></span>
|
||
<<span class="token operator">/</span>View<span class="token operator">></span>
|
||
<span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||
|
||
exports<span class="token punctuation">.</span>displayName <span class="token operator">=</span> <span class="token punctuation">(</span>undefined<span class="token punctuation">:</span> <span class="token operator">?</span>string<span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||
exports<span class="token punctuation">.</span>framework <span class="token operator">=</span> <span class="token string">'React'</span><span class="token punctuation">;</span>
|
||
exports<span class="token punctuation">.</span>title <span class="token operator">=</span> <span class="token string">'ProgressViewIOS'</span><span class="token punctuation">;</span>
|
||
exports<span class="token punctuation">.</span>description <span class="token operator">=</span> <span class="token string">'ProgressViewIOS'</span><span class="token punctuation">;</span>
|
||
exports<span class="token punctuation">.</span>examples <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">{</span>
|
||
title<span class="token punctuation">:</span> <span class="token string">'ProgressViewIOS'</span><span class="token punctuation">,</span>
|
||
<span class="token function">render<span class="token punctuation">(</span></span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
|
||
<span class="token keyword">return</span> <span class="token punctuation">(</span>
|
||
<ProgressViewExample<span class="token operator">/</span><span class="token operator">></span>
|
||
<span class="token punctuation">)</span><span class="token punctuation">;</span>
|
||
<span class="token punctuation">}</span>
|
||
<span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
|
||
|
||
<span class="token keyword">var</span> styles <span class="token operator">=</span> StyleSheet<span class="token punctuation">.</span><span class="token function">create<span class="token punctuation">(</span></span><span class="token punctuation">{</span>
|
||
container<span class="token punctuation">:</span> <span class="token punctuation">{</span>
|
||
marginTop<span class="token punctuation">:</span> <span class="token operator">-</span><span class="token number">20</span><span class="token punctuation">,</span>
|
||
backgroundColor<span class="token punctuation">:</span> <span class="token string">'transparent'</span><span class="token punctuation">,</span>
|
||
<span class="token punctuation">}</span><span class="token punctuation">,</span>
|
||
progressView<span class="token punctuation">:</span> <span class="token punctuation">{</span>
|
||
marginTop<span class="token punctuation">:</span> <span class="token number">20</span><span class="token punctuation">,</span>
|
||
<span class="token punctuation">}</span>
|
||
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span></div><div class="embedded-simulator"><p><a class="modal-button-open"><strong>Run this example</strong></a></p><div class="modal-button-open modal-button-open-img"><img alt="Run example in simulator" width="170" height="356" src="img/uiexplorer_main_ios.png"></div><div><div class="modal"><div class="modal-content"><button class="modal-button-close">×</button><div class="center"><iframe class="simulator" src="https://appetize.io/embed/7vdfm9h3e6vuf4gfdm7r5rgc48?device=iphone6s&scale=60&autoplay=false&orientation=portrait&deviceColor=white&params=%7B%22route%22%3A%22ProgressViewIOS%22%7D" width="256" height="550" scrolling="no"></iframe><p>Powered by <a target="_blank" href="https://appetize.io">appetize.io</a></p></div></div></div><div class="modal-backdrop"></div></div></div></div></div></div><div class="docs-prevnext"><a class="docs-prev" href="docs/progressbarandroid.html#content">← Prev</a><a class="docs-next" href="docs/refreshcontrol.html#content">Next →</a></div> |