High Performance 3D Printers for rugged prototypes, manufacturing tools, and production parts, Fortus 380mc and 450mc 3D Printers in India
seen from Germany
seen from United States

seen from United States

seen from Spain

seen from Algeria

seen from Australia

seen from Malaysia

seen from United States

seen from Türkiye
seen from Canada
seen from Canada
seen from Germany

seen from Germany

seen from Canada
seen from Malaysia
seen from China

seen from Namibia
seen from Bolivia
seen from Italy

seen from Singapore
High Performance 3D Printers for rugged prototypes, manufacturing tools, and production parts, Fortus 380mc and 450mc 3D Printers in India
Stratasys F123 3D Printers leverage the time-tested durability and success of FDM technology to offer the highest level of reliability out-of the-box for a range of capabilities and budgets.
IKO Creative Prosthetic System
Segues und Storyboards sind eine tolle Sache für Rapid-Prototyping oder Apps mit einer Vielzahl von statischen Inhalten. Segues machen es nicht nur überflüssig die Navigation zwischen einzelnen Views im Code schreiben zu müssen, sie visualisieren auch sehr gut die Verknüpfung der einzelnen Views und die möglichen “Klickpfade”.
Wenn man überhaupt keinen Code schreiben möchte bietet XCode4 2 Segue Typen an: “Push” und “Modal”. Während bei “Modal” noch mehrere Animationen angeboten werden, ist man bei “Push” auf die Standart Animation festgelegt.
In diesem kurzen Artikel möchte ich deshalb zeigen, wie man auch bei einem Push Segue eigene Animationen nutzen kann. Dafür kommen wir jedoch nicht umhin Code zu schreiben, genau genommen nutzen wir auch kein Push-Segue sondern schreiben ein eigenes Segue, dass (u.a.) einen Push ausführt.
Zu Beginn erstellen wir als erstes die Klasse für unser Custom-Segue:
#import <UIKit/UIKit.h> @interface MySegueWithCustomAnimation : UIStoryboardSegue @end
anschließend implementieren wir unsere eigene Animation, in diesem Fall soll die neue View von oben rechte nach unten links einfliegen.
#import "MySegueWithCustomAnimation.h" @implementation MySegueWithCustomAnimation -(void)perform{ UIViewController *destination = [self destinationViewController]; UIViewController *source = [self sourceViewController]; [destination viewWillAppear:NO]; [destination viewDidAppear:NO]; //[source retain]; only if ARC is not used [source.view addSubview:destination.view]; CGRect original = destination.view.frame; destination.view.frame = CGRectMake(destination.view.frame.origin.x+destination.view.frame.size.width, 0-destination.view.frame.size.height, destination.view.frame.size.width, destination.view.frame.size.height); [UIView beginAnimations:nil context:nil]; destination.view.frame = CGRectMake(original.origin.x, original.origin.y, original.size.height, original.size.width); [UIView commitAnimations]; [self performSelector:@selector(animationDone:) withObject:destination afterDelay:0.2f]; } - (void)animationDone:(id)vc{ UIViewController *destination = (UIViewController*)vc; UINavigationController *navController = [[self sourceViewController] navigationController]; [navController pushViewController:destination animated:NO]; //[[self sourceViewController] release]; only if ARC is not used } @end
Zusammengefasst machen wir folgendes
wir unterdrücken das Anzeigen des neuen Views
wir definieren und starten unsere eigene Animation
wir registrieren einen Callback, der am Ende der Animation aufgerufen wird.
beim Callback vollziehen wir den Push, wobei wir wieder das Standartverhalten (Animation) unterdrücken.
Sind alle diese Schritte vollzogen müssen wir unser Segue lediglich noch im Storyboard einbinden. Dazu erstellen wir einfach ganz normal ein Segue und wählen dann “Custom” und geben den Namen unseres eigenen Segues an. In unserem Fall also “MySegueWithCustomAnimation”.
Anschließend einfach auf “Run” klicken und unsere (zugegeben wenig spektakuläre) eigene Animation bewundern.
Cylinder by Andy Huntington and Drew Allan is an elegant series of data sculpture based on sound analysis. A mapping of the frequency and time domains produces cylindrical forms representing the spatial characteristics of the sound input. Physical versions of the digital 3D models are then 3D printed using stereolithography.
Getting Started With Node.js and Express.js
Perhaps you already know this: Express.js and Node.js can be a powerful medium for rapid-prototyping. However, if you’ve never used either one, it may seem daunting to get started. Over the past week, I’ve stumbled across a number of useful articles related to using Express.js — ‘a minimal and flexible Node.js application framework’ that help take any edge off the learning curve. In the hopes that it’s useful, I thought I’d share the list in one place.
A collection of articles exploring getting started Express.js and using it to design in the browser.
Read: Express.js and Node.js as a prototyping medium
Segues und Storyboards sind eine tolle Sache für Rapid-Prototyping oder Apps mit einer Vielzahl von statischen Inhalten. Segues machen es nicht nur überflüssig die Navigation zwischen einzelnen Views im Code schreiben zu müssen, sie visualisieren auch sehr gut die Verknüpfung der einzelnen Views und die möglichen “Klickpfade”.
Wenn man überhaupt keinen Code schreiben möchte bietet XCode4 2 Segue Typen an: “Push” und “Modal”. Während bei “Modal” noch mehrere Animationen angeboten werden, ist man bei “Push” auf die Standart Animation festgelegt.
In diesem kurzen Artikel möchte ich deshalb zeigen, wie man auch bei einem Push Segue eigene Animationen nutzen kann. Dafür kommen wir jedoch nicht umhin Code zu schreiben, genau genommen nutzen wir auch kein Push-Segue sondern schreiben ein eigenes Segue, dass (u.a.) einen Push ausführt.
Zu Beginn erstellen wir als erstes die Klasse für unser Custom-Segue:
#import <UIKit/UIKit.h> @interface MySegueWithCustomAnimation : UIStoryboardSegue @end
anschließend implementieren wir unsere eigene Animation, in diesem Fall soll die neue View von oben rechte nach unten links einfliegen.
#import "MySegueWithCustomAnimation.h" @implementation MySegueWithCustomAnimation -(void)perform{ UIViewController *destination = [self destinationViewController]; UIViewController *source = [self sourceViewController]; [destination viewWillAppear:NO]; [destination viewDidAppear:NO]; //[source retain]; only if ARC is not used [source.view addSubview:destination.view]; CGRect original = destination.view.frame; destination.view.frame = CGRectMake(destination.view.frame.origin.x+destination.view.frame.size.width, 0-destination.view.frame.size.height, destination.view.frame.size.width, destination.view.frame.size.height); [UIView beginAnimations:nil context:nil]; destination.view.frame = CGRectMake(original.origin.x, original.origin.y, original.size.height, original.size.width); [UIView commitAnimations]; [self performSelector:@selector(animationDone:) withObject:destination afterDelay:0.2f]; } - (void)animationDone:(id)vc{ UIViewController *destination = (UIViewController*)vc; UINavigationController *navController = [[self sourceViewController] navigationController]; [navController pushViewController:destination animated:NO]; //[[self sourceViewController] release]; only if ARC is not used } @end
Zusammengefasst machen wir folgendes
wir unterdrücken das Anzeigen des neuen Views
wir definieren und starten unsere eigene Animation
wir registrieren einen Callback, der am Ende der Animation aufgerufen wird.
beim Callback vollziehen wir den Push, wobei wir wieder das Standartverhalten (Animation) unterdrücken.
Sind alle diese Schritte vollzogen müssen wir unser Segue lediglich noch im Storyboard einbinden. Dazu erstellen wir einfach ganz normal ein Segue und wählen dann “Custom” und geben den Namen unseres eigenen Segues an. In unserem Fall also “MySegueWithCustomAnimation”.
Anschließend einfach auf “Run” klicken und unsere (zugegeben wenig spektakuläre) eigene Animation bewundern.