Skip to content

Commit ff931d6

Browse files
mfazekasclaude
andcommitted
fix(ios): play after none and auto binding modes
- Add baseViewModel?.play() for .none and .auto cases - Ensures view refreshes when switching to these modes - All binding modes now trigger play() for consistent behavior - Fix prettier formatting in example 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 23c1d84 commit ff931d6

3 files changed

Lines changed: 5 additions & 4 deletions

File tree

example/src/pages/MIklosViewModels.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
/* eslint-disable react-native/no-inline-styles */
21
import { StyleSheet, Text, TouchableOpacity, View } from 'react-native';
32
import { useState } from 'react';
43
import type { Metadata } from '../helpers/metadata';
@@ -16,7 +15,7 @@ export default function DataBindingMode() {
1615
const { riveFile } = useRiveFile(
1716
require('../../assets/rive/miklos_viewmodels.riv')
1817
);
19-
const [bindMode, setBindMode] = useState<BindModeOption>('blue');
18+
const [bindMode, setBindMode] = useState<BindModeOption>('none');
2019

2120
const dataBindValue = getDataBindValue(bindMode);
2221

@@ -62,7 +61,8 @@ export default function DataBindingMode() {
6261

6362
DataBindingMode.metadata = {
6463
name: 'Miklos View Models',
65-
description: 'Interactive data binding mode selector (none, auto, red, green, blue)',
64+
description:
65+
'Interactive data binding mode selector (none, auto, red, green, blue)',
6666
} satisfies Metadata;
6767

6868
const styles = StyleSheet.create({

ios/RiveReactNativeView.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,13 @@ class RiveReactNativeView: UIView, RiveStateMachineDelegate {
114114
switch bindData {
115115
case .none:
116116
baseViewModel?.riveModel?.disableAutoBind()
117+
baseViewModel?.play()
117118

118119
case .auto:
119120
baseViewModel?.riveModel?.enableAutoBind { [weak self] instance in
120121
// Auto-bind callback
121122
}
123+
baseViewModel?.play()
122124

123125
case .byName(let name):
124126
guard let artboard = artboard,

src/index.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ export class DataBindByName implements DataBindByNameInterface {
1919
}
2020
}
2121

22-
2322
import RiveViewConfig from '../nitrogen/generated/shared/json/RiveViewConfig.json';
2423

2524
const RiveHybridObject = NitroModules.createHybridObject<Rive>('Rive');

0 commit comments

Comments
 (0)