Skip to content

Animation of transition rotate not working #10764

Open
@jpakulski

Description

@jpakulski

Issue Description

Animation of transition rotate does not work on iOS, when using NativeScript >= 8.9.0.
This happens when using css keyframe animation or when using the Animation class.
We are only developing for iOS, I do not know if this is an issue on Android.
Animating other properties works as expected.

Also fails on latest pre-release: 8.9.3-next-07-11-2025-16231435223

Lowering @nativescript/core to 8.8.6 fixes the problem.

Thank You to anyone who can look into this and save our spinny.

Reproduction

This works:

@keyframes move {
  from {
    transform: translate(0, 0);
  }
  to {
    transform: translate(100, 100);
  }
}

.move {
  animation: move 2s linear infinite forwards;
}

This fails (nothing happens):

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}

.spin {
  animation: spin 2s linear infinite forwards;
}

As mentioned above, this also fails (nothing happens), but animating other properties work:

const spinAnimation = new Animation([{
  target: this.iconEl.nativeElement,
  rotate: 359,
  duration: 2000,
  iterations: Number.POSITIVE_INFINITY,
  curve: CoreTypes.AnimationCurve.linear
}]);

spinAnimation.play();

Relevant log output (if applicable)

Environment

OS: macOS 15.5
CPU: (8) arm64 Apple M2
Shell: /opt/homebrew/bin/zsh
node: 22.13.1
npm: 11.0.0
nativescript: 8.9.2

# android
java: Not Found
ndk: Not Found
apis: Not Found
build_tools: Not Found
system_images: Not Found

# ios
xcode: 16.3/16E140
cocoapods: 1.14.3
python: 3.10.18
python3: 3.10.18
ruby: 3.2.2
platforms:
  - DriverKit 24.4
  - iOS 18.4
  - macOS 15.4
  - tvOS 18.4
  - visionOS 2.4
  - watchOS 11.4

Dependencies

"dependencies": {
  "@angular/animations": "~20.1.0",
  "@angular/common": "~20.1.0",
  "@angular/compiler": "~20.1.0",
  "@angular/core": "~20.1.0",
  "@angular/forms": "~20.1.0",
  "@angular/platform-browser": "~20.1.0",
  "@angular/platform-browser-dynamic": "~20.1.0",
  "@angular/router": "~20.1.0",
  "@nativescript-community/drawingpad": "^4.1.0",
  "@nativescript-community/sentry": "~4.6.40",
  "@nativescript-community/ui-label": "^1.3.33",
  "@nativescript/angular": "20.0.0",
  "@nativescript/background-http": "^6.0.2",
  "@nativescript/camera": "^7.0.0",
  "@nativescript/core": "8.9.2",
  "@nativescript/directions": "^2.0.2",
  "@nativescript/email": "^2.1.0",
  "@nativescript/firebase": "^11.1.3",
  "@nativescript/iqkeyboardmanager": "^2.1.2",
  "@nativescript/pdf": "^2.0.0",
  "@nativescript/theme": "~3.1.0",
  "@nativescript/unit-test-runner": "^3.0.4",
  "base-64": "^1.0.0",
  "jwt-decode": "^4.0.0",
  "nativescript-extendedinfo": "^1.0.11",
  "nativescript-numeric-keyboard": "^5.0.2",
  "nativescript-phone": "^3.0.3",
  "nativescript-sqlite": "^2.8.6",
  "nativescript-taptic-engine": "^2.1.0",
  "nativescript-ui-listview": "^15.2.3",
  "nativescript-ui-sidedrawer": "^15.2.3",
  "rxjs": "^7.8.2",
  "zone.js": "~0.15.1"
},
"devDependencies": {
  "@angular-devkit/build-angular": "~20.1.0",
  "@angular/compiler-cli": "~20.1.0",
  "@nativescript/ios": "8.9.2",
  "@nativescript/types": "~8.9.1",
  "@nativescript/webpack": "~5.0.24",
  "@ngtools/webpack": "~20.1.0",
  "@sentry/webpack-plugin": "^3.5.0",
  "@types/jasmine": "5.1.8",
  "copy-webpack-plugin": "^13.0.0",
  "fs-extra": "^11.3.0",
  "karma": "6.4.4",
  "karma-jasmine": "5.1.0",
  "karma-mocha-reporter": "^2.2.5",
  "karma-nativescript-launcher": "1.0.0",
  "karma-spec-reporter": "^0.0.36",
  "typescript": "~5.8.3"
}

Please accept these terms

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions