ingen slogan
Arkiv för september 2009
#MonoTouch how to – Drag and Drop Image
23 Sep 09
My blog posts are commonly in Swedish, but since this might interest users outside the borders of Sweden I decided to write this post in English.
Today, I’ll show how easy it is to Drag an Image around the screen using MonoTouch. Bear with me though, it’s my first how to
.
It’s actually really simple, and you won’t need the Interface Builder.
What we need to do is to create an UIImageView class that overrides the functions TouchesBegan, TouchesMoved and TouchesEnded. It’s looking like this:
public class myDraggableImage : UIImageView {
//Store locations for remembering the last positions, and counting the future ones.
PointF Location;
PointF StartLocation;
bool haveBeenTouchedOnce = false;
public myDraggableImage ( RectangleF frame ){
//Set the position of the frame with RectangleF (Replacement of CGRectangle)
this.Frame = frame;
StartLocation = this.Frame.Location;
}
//This event occurs when you just touch the object
public override void TouchesBegan (MonoTouch.Foundation.NSSet touches, MonoTouch.UIKit.UIEvent e)
{
Console.WriteLine("Touched the object");
Location = this.Frame.Location;
var touch = (UITouch) e.TouchesForView (this).AnyObject;
var bounds = Bounds;
StartLocation = touch.LocationInView(this);
this.Frame = new RectangleF(Location,bounds.Size);
}
//This event occurs when you drag it around
public override void TouchesMoved (MonoTouch.Foundation.NSSet touches, MonoTouch.UIKit.UIEvent e)
{
Console.WriteLine("Dragged the object");
var bounds = Bounds;
var touch = (UITouch) e.TouchesForView (this).AnyObject;
//Always refer to the StartLocation of the object that you've been dragging.
Location.X += touch.LocationInView(this).X - StartLocation.X;
Location.Y += touch.LocationInView(this).Y - StartLocation.Y;
this.Frame = new RectangleF(Location,bounds.Size);
haveBeenTouchedOnce = true;
}
public override void TouchesEnded (MonoTouch.Foundation.NSSet touches, MonoTouch.UIKit.UIEvent e)
{
StartLocation = Location;
}
}
What’s being done here is that as soon as we Touch the object it will run ”TouchesBegan” to start keeping track of the Object. And when we are moving it around, it constantly calls ”TouchesMoved” where we are updating the position of the UIImageView on the screen.
When you’ve implemented the class class in your project, all you need to do is to create the object within ”public override bool FinishedLaunching”.
It can for instance look like this:
myDraggableImage img = new myDraggableImage(new RectangleF(64,64,64,64)); img.UserInteractionEnabled = true; img.BackgroundColor = UIColor.Green; img.Hidden = false; window.AddSubview(img);
The result will be a UIImageView that can be dragged around the screen.
MonoTouch trial
16 Sep 09
Ville bara informera för er som missat att MonoTouch numera finns som testversion, för den som vill testa innan köp.
Du kommer att tillåtas att använda MonoTouch fullt ut, och simulera programmet det på din Mac. Vill du däremot testa på din telefon måste du köpa en licens.
Detta är givetvis väldigt bra, för den som vill testa innan köp.
Du laddar ner trial versionen här: http://monotouch.net/DownloadTrial
Detta är perfekt för den som inte har 3010 SEK att spendera på ett projekt man inte är säker på att använda seriöst!
Det känns bra när ett Arbetsteam lyssnar på request de får, och tar till sig det direkt, istället för att komma med en lösning 6 månader senare. Men åandrasidan är det ”open source” människor som skapat det, så man förstår entusiasmen
Härmed avslutas mitt lunchinlägg!
-m
MonoTouch släppt
14 Sep 09
Idag är det officiellt. MonoTouch, API:et som låter dig programmera .NET-applikationer till din iPhone är släppt.
Inte nog med att du kan använda .NET API:er direkt i ditt program. Där är även Bindings till Objective-C biblioteken, för att kunna maximera din utveckling på iPhone.
Även om jag personligen inte har hunnit programmera något vidare själv har jag följt mailinglistan, och de som testat är mycket nöjda med produkten. De är mer eller mindre nöjda med precis allt, utom prislappen förstås.
Prislappen hamnar på 3010 SEK för enskild användare. Något som förmodligen kommer utesluta de som vill göra alla de populära småprogrammen. Novell verkar ha lagt sitt fokus på seriösa företag som vill åstadkomma mycket med sin kod, och som är beredda att betala för att återanvända den kunskap som redan finns, dvs slippa lära sig Objective-C.
Personligen har jag inte bestämt mig för vad jag tycker om priset. Många har blivit upprörda, medans andra är nöjda med priset och anser att arbetet som utvecklarna har lagt ner på detta projekt gör att prislappen är helt acceptabel.
Jag ser det mer som en positioneringssak. Jag kan tycka att priset är OK för ett företag, men inte för en hobbyutvecklare som vill tjäna lite snabba pengar. Fler kunder, kräver givetvis mer support, vilket är mer utgifter för Novell. Genom att höja priset till vad det är sållar man säkerligen bort de som egentligen inte kan, men tror sig kunna och fokuserar på de personer som verkligen vill. Detta ger givetvis mindre support för Novell, vilket de tjänar pengar på.
Jag tror att om man sänker priset för lågt på ett paket som detta kommer det att kosta mer än vad det kommer gynna, och jag tror Novell är på samma spår de också.
Jag tror med andra ord att det är ett strategiskt beslut, och inte ett pengagirigt.
Nu när jag granskar vad jag själv analyserat fram från texten ovan får jag nog ändå säga att det är ett pris som är helt OK. Jag är nöjd.
Ta en kik på deras hemsida: http://monotouch.net
Tillbaka till min renovering
.
Cu
Upptagen helg
7 Sep 09
Livet blir aldrig som man tänkt sig.
Denna helg började under kvällen i Fredags att fira Andjelkas moster Ulrica, som fyllde år. Vi firade henne genom att spela bowling. Mycket trevligt!
Lördagen gick åt att hjälpa syrran att flytta och spacka/måla igen hål i lägenheten som vi snart ska lämna..
Och i söndags blev det ingenting gjort, förutom lite packande och inhandlande av tapet med mera för lite förändring i nästa lägenhet.
Jag fick med andra ord inte gjort något på mina projekt, och min datortid var minimal. Tror inte äns att datorerna var igång öht. Nu är det en ny vecka, och jag tror inte jag kommer få tid att testa MonoTouch denna veckan heller. Lite synd, när man blivit inbjuden till att göra det.
Detta blir ett tråkigt inlägg. Det finns inget jag kan skriva om, så jag låter det vara för idag
.
Ses!
Wie, jag kom med!
4 Sep 09
Häromdagen ansökte jag till MonoTouchprojektet eftersom jag fann det väldigt intressant att utveckla med. Och de snälla människorna gav mig beta access till projektet!
Skall genast testa det och ge det kommentarer, när jag har något. Men testning kan nog inte bli förräns på söndag. Om tio minuter ska vi på födelsedagsevenemang och imorgon skall vi hjälpa min syster med fästman att flytta.
Värt att notera är att MonoTouch kommer bli en kommersiell utgåva, enligt Miguel:
För mig är detta helt ok, jag kan tänka mig att det måste vara ett kostsamt avtal med apple för att få lov att göra såhär. Mono i sigsjälvt är ju öppet, och det tycker jag är viktigast!
Jag återkommer som sagt, så fort jag har lite kod att bidra med
.
Tills vidare refererar jag till monotouch.info och detta inlägg:
http://conceptdev.blogspot.com/2009/09/initiate-call-with-monotouch.html
Go kväll!
Marcus
Veckans intressanta: MonoTouch
2 Sep 09
Läste ett blogginlägg från mr Miguel De Icaza som berättar lite grann om MonoTouch, som är ett ramverk för att koda c# till iphone. Verkligen smart!
Det enda som är lite dåligt är att det inte är open source. Men det är åtminståne baserat på Mono, tror jag. Och mono är ju open source.
Jag är lite glad för detta för Objective C som är standardutvecklingsspråk känns otroligt jobbigt att arbeta i.
Som tur är har jag en MacMini, som förnärvarande arbetar som MediaMac. Dvs, bara en snygg station att kolla på Dvd på! Men nu är jag lite sugen på att installera Xcode och Monodevelop och sätta igång och koda lite till min iphone. Jag får se hur det blir.

