ReactNative

React Native iOS 独有组件之 ActionShe

2019-03-01  本文已影响0人  Kevin_小飞象

在 App 中常会需要进行分享或者弹出多项选择的操作。在 iOS 开发中,ActionSheet 组件提供了这样的功能。而 React Native 同样对其做了封装,那就是 ActionSheetIOS。

方法

  1. 操作表
    static showActionSheetWithOptions(options, callback)
    在 iOS 设备上显示一个 ActionSheet 弹出框,
  1. 分享框
    static showShareActionSheetWithOptions(options, failureCallback, successCallback)
    在 iOS 设备上显示一个分享弹出框,

实例

1. 逻辑代码

import React, {Component} from 'react';
import {
  StyleSheet, 
  Button, 
  ActionSheetIOS,
  View
} from 'react-native';

export default class App extends Component {
  render() {
    return (
      <View style = {styles.container}>
        <Button 
          style={styles.text} 
          onPress = {
            this.sheet.bind(this)
          }
          title = {'打开操作表'}
        />
        <Button 
          style={styles.text}
          onPress = {
            this.share.bind(this)
          }
          title = {'打开分享框'}
        />
      </View>
    );
  }

  sheet() {
    ActionSheetIOS.showActionSheetWithOptions({
      options: [
        '拨打电话',
        '发送邮件',
        '发送短信',
        '取消',
      ],
      cancelButtonIndex:3,
      destructiveButtonIndex:0
    },function(index) {
      alert('您点击的索引是:' + index);
    })
  }

  share() {
    ActionSheetIOS.showShareActionSheetWithOptions({
      url:'https://www.jianshu.com/u/7ca4b115e1df',
    },function(error){
      alert(error);
    },function(e) {
      alert(e);
    }
    )}

}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    paddingTop: 30,
    backgroundColor: '#F5FCFF',
  },
  text: {
    fontSize: 18,
    margin: 10,
  },
});

2. 效果图

share.jpg sheet.jpg

小提示:

在 iOS 模拟器中按下 ⌘-R 就可以刷新 APP 并看到你的最新修改!

上一篇下一篇

猜你喜欢

热点阅读