add Image element (iOS)

This commit is contained in:
Horcrux
2016-05-05 18:50:22 +08:00
parent 39123c449d
commit 0b887bccf5
19 changed files with 308 additions and 98 deletions
+25 -9
View File
@@ -1,25 +1,41 @@
import {
import React, {
Component,
PropTypes
} from 'react-native';
let propType = PropTypes.oneOfType([PropTypes.string, PropTypes.number]);
import {NativeGroup} from './G';
import extractProps from '../lib/extract/extractProps';
import {ImageAttributes} from '../lib/attributes';
import Rect from './Rect';
import {numberProp} from '../lib/props';
import resolveAssetSource from 'react-native/Libraries/Image/resolveAssetSource';
import createReactNativeComponentClass from 'react-native/Libraries/ReactNative/createReactNativeComponentClass';
import formatPercentageProps from '../lib/formatPercentageProps';
class Image extends Component{
static displayName = 'Image';
static propTypes = {
x1: propType,
x2: propType,
y1: propType,
y2: propType,
href: PropTypes.string
x: numberProp,
y: numberProp,
width: numberProp,
height: numberProp,
href: PropTypes.number.isRequired
//preserveAspectRatio: PropTypes.string
};
render() {
return null;
return <RNSVGImage
{...extractProps(this.props, {transform: true})}
layout={formatPercentageProps(this.props, ['x', 'y', 'width', 'height'])}
src={resolveAssetSource(this.props.href)}
/>;
}
}
let RNSVGImage = createReactNativeComponentClass({
validAttributes: ImageAttributes,
uiViewClassName: 'RNSVGImage'
});
export default Image;