Can't use Xamarin Storyboard Editor

raveroravero USMember ✭✭
edited July 2015 in Xamarin.iOS

Hello folks,
I'm pretty new to Xamarin and I've come from native development. I got say that I've got pretty excited about the possibility of coding native Apps using C#, since it's my background language and I've been using it for Android development which is ok, but I'm really striving to use it for iOS and getting sick and tired trying to use the Storyboard Editor. Is it me or is it really a shit thing? I'm sorry for the fault language, but I'm really angry by the time I'm writing this piece.

Coming from the Xcode editor that presents a pretty good and mature interface editor, working with Xamarin is painful. The editor is really slow, I got tons of glitches trying to move and set objects around. It's darn hard to set the Layout Constraints correctly, it took me a very long to understand how I would set an object to take the entire View Controller space by setting the trailing, leading, top and bottom spacing constraints, and the suggested constraints was based on Width/Height, which is clearly not what I wanted! I can't even find a way to manually add the constraints like I can in Xcode, I'm trapped with the awful graphical constraint creation. I even can't edit or delete constraint properties in the property inspector...

From time to time Xamarin Studio crashes. It's no better if I try using Visual Studio, actually it's worse. I was unable to edit Storyboard because it wasn't recognizing the Starter Edition. Trying to run the App literally freezes Visual Studio minutes to log me that there was a problem with the build host. It's almost unusable.

Are you guys facing the same kind of problem? I'm up to decide if will go with Xamarin or search for alternatives, and if I go with Xamarin I can't afford to buy that expensive price for a product that really don't provide me with all the native experience that I found for iOS as they market it.

Regards,
Rafael

Posts

  • Tom-PrattTom-Pratt GBMember ✭✭

    I've tried using Visual Studio and I've tried using the Xamarin storyboard editor. I ran into similar issues as you, particularly when it comes to adding constraints.

    I now do all my iOS development in Xamarin Studio and I always open storyboard files in Xcode (right click the file and choose open in XCode instead of just double clicking the file).

    This works nicely and is frustration free. Xamarin Studio freezes or does weird stuff very occasionally and needs a restart but not enough to be an issue for me.

    I thoroughly recommend persevering with Xamarin a bit longer. The things that seem annoying at first will cease to be a problem when you get used to it. When you get really comfortable you'll start to explore more framework options such as MvvmCross and realise just how efficient the cross platform code reuse can be. Then there's nuget, async/await syntax and loads more to convince you.

    Plus nothing is as annoying as Android development used to be in Eclipse so that's always something to glad about :D

  • AnnaEilertsenAnnaEilertsen USMember

    I found the Storyboard bugs too much to deal with. Visual Studio was impossible due to connection issues with build host, so I used Xamarin Studio. Eventually I had to clean and rebuild the solution every time I ran the simulator to even be able to open the Storyboard file, and then I had to push show -> Generic, then show -> iPad to make the Views display their content. Not particularly smooth. We eventually moved away from the Storyboard completely, and did everything programmatically. That went (more or less) okay. Xamarin do have a lot of bugs though.

  • raveroravero USMember ✭✭

    Tom: I value de advantages of using C# as development language, especially for Android, but I can't stand with so terrible Storyboard Editor. One of the main advantages that I found on using Xamarin was to use Visual Studio, but Anna said, it's nearly impossible to use it as the main editor tool, since I still need to have Xcode around so I can edit the Storyboard. It's too much counterproductive.

  • rob8861rob8861 USMember ✭✭

    I know this is an old post but we are in 2016 and I am still experiencing the same stuff the OP outlined above. I am also fairly new to Xamarin iOS and still learning my way thru the framework. However, one thing that frustrates me the most is the xamarin ios designer, which is horrible. It seems like nothing has really changed since Xamarin 3 and the design experience is really sub par. I was excited about xamarin because I am a .net developer and c# is a second nature to me. However, I didn't expect the ios designer in Visual Studio to be as bad. When it comes to editing code, xcode is probably the worst IDE (with the exception of Interface Builder which is great). That is also why I really wanted to switch over to xamarin so I can use Visual Studio.
    I know some people are using Xcode to edit the storyboard but these are all "hacks and tricks" that one needs to do in order to get things to work as they should. In my opinion, Xamarin should focus on perfecting their ios designer instead of releasing fancy new tools which are nice but not as important.

  • RobertDAllegroRobertDAllegro USMember ✭✭

    @rob8861 said:
    I know this is an old post but we are in 2016 and I am still experiencing the same stuff the OP outlined above. I am also fairly new to Xamarin iOS and still learning my way thru the framework. However, one thing that frustrates me the most is the xamarin ios designer, which is horrible. It seems like nothing has really changed since Xamarin 3 and the design experience is really sub par. I was excited about xamarin because I am a .net developer and c# is a second nature to me. However, I didn't expect the ios designer in Visual Studio to be as bad. When it comes to editing code, xcode is probably the worst IDE (with the exception of Interface Builder which is great). That is also why I really wanted to switch over to xamarin so I can use Visual Studio.
    I know some people are using Xcode to edit the storyboard but these are all "hacks and tricks" that one needs to do in order to get things to work as they should. In my opinion, Xamarin should focus on perfecting their ios designer instead of releasing fancy new tools which are nice but not as important.

    Man, I agree totally. so frustrating.

  • CyrilCathalaCyrilCathala FRMember ✭✭

    Does anyone use the Xamarin iOS Designer? Seriously, I've tried it again earlier after a long time using Interface Builder as a replacement, the experience is still terrible.

    Is there a way to address the pain points to the Xamarin teams directly?
    Meanwhile, here are some:

    • Can't interact with the document outline, would be very usefull to move some views from one container to another
    • Can't edit constraints first item and second item, very painful when you try to target one view overlapped by another
    • Support for StackViews is too light (can't select views and stack them all together, like in IB)
    • No way to apply constraints from the document outline or without targeting on the design surface, which is difficult when views are overlapping

    I have a Xamarin presentation pretty soon, I can't demo anything from the Visual Studio iOS Designer or I would be laughed at.

    I've seen a big improvement over the speed and reactivity, which is a very good poin. But the overall experience compared with Interface Builder is just a no match, sorry guys.

  • ZeeshanKhanZeeshanKhan PKMember

    I wasted 2 days trying to design a screen targeting different iOS screen sizes, Xamarin or VS iOS designer were not co-operating. Then I tried Apple's XCode interface designer for same Xamarin native iOS project, my problem got solved with-in 5 minutes.

    Note: I only loaded the Main.storyboard file within xCode interface designer and not the whole project!

  • TimHaydnJonesTimHaydnJones GBMember ✭✭

    I don't like putting the boot in but from my first few days experience, the Xamarin iOS Designer is virtually unusable. As others have already said, it's unbelievably slow and absolutely full of really obvious bugs. These include (but are not restricted to)
    Widgets disappearing from the Design View, only to come back if you toggle the [View As] phone models
    The designer doesn't save widgets correctly, so if I drag a Button from the Toolbox, it starts out life with a width of 46 (I think). If I then stretch the width and height of this button, it appears to have been enlarged but the new width and height are not saved to the XML representing the Main.StoryBoard so when I run the app, the button is still super small and incapable of showing the correct label. And this failure to save is not restricted to a Button Widget, it also applies to Labels and Text fields.
    In the forums, people are suggesting using the Xcode Designer but I can't even do that, because the latest version of Xamarin Studio (I only downloaded it at the weekend) doesn't support the XCode 8 document format
    AAAAAAAAAAAAAAAARRRRRRRRRRRRRRRRRRGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHH!
    Come on Xamarin - this really isn't good enough. Obvious bugs like not saving changes to widgets should have been cleared years ago!

  • steveoosteveoo USMember

    It's amazing to me that this thread is 2+ years old and Xamarin STILL hasn't fixed most of the issues in the designer. It's far from a true WYSIWYG environment. I find myself having to constantly bring my storyboard in to Xcode to fix up the issues, which is very time consuming and annoying. It's basically only usable to very simple storyboards. I use a combination of the designer for basic, Xcode to fix that up (mostly constraints) and then code for the rest. The amount of attributes that should so obviously be set in the designer but can only be set in code is quiet amazing. Really makes you appreciate all the work Microsoft did on C# with VS. Now that they own Xamarin, I hope they put those same resources to work. D- on this one Xamarin...

  • JamesMontemagnoJamesMontemagno USForum Administrator, Xamarin Team, Developer Group Leader Xamurai

    @TimHaydnJones very simple workaround here for that issue:

  • TimHaydnJonesTimHaydnJones GBMember ✭✭

    Cheers James - much appreciated

  • hmanhman GBMember ✭✭

    +1 I'm new to Xamarin and am extremely frustrated with Storyboard Designer within Visual Studio (latest version)

    Many bugs just doing simple things. They clearly haven't given this any attention which baffles me entirely.

    All I've tried so far is adding a few views and UI controls for a login screen.

    1. Selecting a Segue type doesn't work at all. After you make your selection it automatically scrolls through the rest of the dropdown and then leaves you with nothing selected. I had to edit the XML
    2. Frequently have to close the storyboard and reopen to see the changes I make be applied such as text size & colour
    3. The custom colour picker values allow you to set a colour but then if you click on another control they don't update to view the newly selected control. Closing the Storyboard and opening again just shows the default RGB colour of 255,0,0,255 (even though you just set and can see a different colour is being used)

    This is completely unusable even for something simple! Very unhappy.

  • gustaveracostagustaveracosta GBMember ✭✭

    The custom colour picker values allow you to set a colour but then if you click on another control they don't update to view the newly selected control. Closing the Storyboard and opening again just shows the default RGB colour of 255,0,0,255 (even though you just set and can see a different colour is being used)

    fix fix fix fix fix fix plz

  • RalphShillingtonRalphShillington CAMember ✭✭

    March 19, 2017 -- 603 days since this thread was started, and as @AngelUrena has already commented I've too have spent far more time fighting the designer than building the actual app.

    At the moment what seems to "work" is constantly close and reopen the designer (a process which itself takes at least 10 seconds, with a virtually empty storyboard)

    Seriously, this editor is a total failure, which is sad. The hope of .NET development on all mobile platforms is so attractive, but I've lost all confidence in the team behind this designer ever being able to get it right. Is Visual Studio for Mac just the same old story with new branding?

  • meepoumeepou FRMember ✭✭

    I do have the same issues (6th June 2017) ... Especially with constraints, which is a key feature in InterfaceBuilder. They do not update when you edit them, you don't always understand what they mean, you have to perform 2390 clicks to get to edit one ... Such a waste of time.

    Please improve this part

  • MaharshiChoudhuryMaharshiChoudhury INMember ✭✭✭

    well the Xamarin iOS if you see no views in the designer. it might be because the layout is opened in any any. the reason for that in universal app this is used to design for all screens. so when you see a blank screen open your view in Xcode and see whether it is in wc: wany or iPhone portrait mode. that might solve the issue. I get to know about it when I opened my app in iPhone and the entire screen was blank. the iOS designer can take multiple constraints based on the size class and that we need to check.

  • raveroravero USMember ✭✭

    It turns out that I've asked this question about two years ago.

    A lot of things have changed and evolved in Xamarin platform, and now I'm able to use the Storyboard Designer in acceptable way. Something that I've is that hardware and network setup (for Remote Build scenarios) plays a large role on the performance of the tool. You gotta remember that Xamarin Storyboard Designer sits on top of remote processing, which is the main bottleneck of this tool. So you gotta have updated hardware for either the client (developer) machine and the build host to get decent performance.

    Either way, it turns out that the Xamarin built-in designer still lacks tons of features in regard to the Xcode designer, specially in the way you set and configure Auto Layout Constraints.

    Since I'm developing from macOS, I've found that the development workflow is to open the Storyboard in Xcode Interface Builder. All my design is made through this environment. When I come back to (now) Visual Studio for Mac, the Storyboard is synched with the project and you don't lose any of the C# references, like element names. This is the best way to design iOS interfaces within Xamarin, even adding some additional steps.

    I know this doesn't solve the things for Windows users, that need to use the Xamarin Designer, but I reaffirm the statement that there were improvements in the tooling over the course of those 2 years, and maybe Microsoft can catch on the Apple Native tooling.

    I hope this helps to elucidate this thread.

  • AlvaroRivoirAlvaroRivoir USMember ✭✭✭

    My storyboard isn't opening anymore in Visual Studio for mac. It's incredibly frustrating.

  • Hey folks,

    I'm new in iOS development, so I have some question for you. I always use the XCode interface builder because it seems to me less buggy than the Xamarin builder (f.e. setting a leading/trailing/top/bottom space to 0 makes the UIImageView stretching to the super view in the XCode editor, but not in the Xamarin editor, it stays the same across display sizes). Moreover, the UI looks the same on the device and in the XCode editor, but not in the Xamarin editor. So, sticking with the Xcode editor seems the best deal to me.

    But I can't set the outlets within the XCode editor. F.e. I can set a touch up event to a button in the Xamarin editor, but in the XCode editor it does nothing, no code behind is generated. What can I do?

    Bests
    Csaba

  • voidvoid DKBeta ✭✭✭
    edited September 2017

    @ravero said:
    Since I'm developing from macOS, I've found that the development workflow is to open the Storyboard in Xcode Interface >Builder. All my design is made through this environment. When I come back to (now) Visual Studio for Mac, the Storyboard >is synched with the project and you don't lose any of the C# references, like element names. This is the best way to design >iOS interfaces within Xamarin, even adding some additional steps.

    This is what I hear from various teams as well.

  • gaeliangaelian AUMember

    New to Xamarin, yadda, yadda. Signed up just now to comment here. So... it's now October 2017 and the iOS Designer in Visual Studio as far as I can tell is buggy AF.

    I'm using Visual Studio 2017 (15.3.5) with Xamarin.iOS 11.0.0.0 on a high specced MacBook Pro purchased late last year and trying to work with a storyboard file using the Xamarin iOS Designer is like having a tiny hammer repeatedly applied to my privates over a prolonged period of time. Zooming in and out causes the arrows that link views to shoot over to completely the wrong location on the design surface, but it's OK because if I move a view around, the arrows snap back to where they're supposed to be (it's not really OK, I'm being sarcastic). But I don't seem to be able to move just any view around on the design surface, just my main tab bar view controller. drag/dropped new view controller onto the design surface, connected it to a tab bar controller, then right-click deleted this new view controller but the view controller I just deleted stayed on the design surface. So I thought well maybe I just have to close and open the storyboard again. So I closed and opened the storyboard and found that I now had a null reference exception error popping up every time I open the storyboard file and I can't actually visually edit the file anymore. I guess I could manually edit the XML or something, hey? But I'm not that masochistic. It was about this time that I decided to end my abusive relationship with the iOS Designer.

    The "open it in Xcode IB" workaround would be useable for me because I actually have a Mac and I'm running a Windows VM on top of it. But unfortunately my colleague with whom I would be working on this project does not have this set up, he runs Windows only and thus cannot easily make use of this workaround without buying new hardware and getting used to a whole new OS (spoiler: he's not going to do this and honestly he shouldn't have to). For bonus points, here's a page I found that is actually recommending against using this workaround:

    developer.xamarin.com/guides/ios/user_interface/designer/introduction/

    I'm quite willing to entertain the possibility that due to my lack of experience with Xamarin, I'm not doing things the "right way" or whatever. But I feel pretty sure now after spending the better part of two days looking into this iOS Designer stuff and googling like a madman, that if nothing else, the "right way" needs to be a lot more intuitive than it currently is.

    And you know, I get it, cross-platform is hard, it's probably a miracle of modern engineering that all this stuff works as well as it does. But at least the documentation could be a) updated to include guidance for Visual Studio and not seem to mostly be a confusing mix of either Xamarin Studio (now Visual Studio for Mac - which my colleague also can't use) and/or Xcode and b) not recommend use of the iOS Designer when the development experience is generally so poor.

    I happen to actually have an MSDN subscription, so I will be logging a ticket with Microsoft about this and requesting guidance on what is actually the recommended way to develop iOS apps using Xamarin today, because it sure doesn't seem like the recommended way should be to use Xamarin's iOS Designer and the Xamarin documentation online leaves a lot to be desired.

  • SoventSovent USMember

    It looks like nothing changed in 3 years, I still have constraints defining issues in Storyboards described by topicstarter, and, unfortunately, I dont have Mac to develop on. Is it even going to be fixed? Or maybe put Macbook to Xamarin requirements?

  • JasonFrear.3318JasonFrear.3318 GBMember ✭✭

    We started our project in Xamarin in 2011, and it wasn't long before the interface builder made us go xibless (and following on from that, storyboardless). For almost all of my Xamarin programming life, the code to create the display objects is literally just that - c# code.

    However, we've just tried implementing a much-needed change where we swap from launch screens and multiple backgrounds to a single background and a Storyboard Launch Screen. This was pretty much required because our app size reached 200Mb, of which 70% was launch screen and background graphics. As a result, we had to brave the storyboard editor again for the first time in years.

    Now I've got the apps size down to 42Mb, but I'm not overly happy with the storyboard designer and can't seem to apply constraints, resulting in a UIImageView containing the splash screens text to be badly stretched or squeezed at extreme screen aspect ratios, something the constraint system would fix if it worked.

    I would just use the XCode interface builder, but (presumably) because we link to the resource files being used, XCode ends up not seeing them. I'm probably going to add random constraints into XCodes interface builder and save, and then edit the resulting storyboard file manually using textedit to make this work properly.

    I do think that, at 3.5 years, this has to be the most neglected bug out there. Although I remember the crash-fest that was the original Xamarin interface builder and at least the current version is better than that.

    Still unusable though, in my opinion. It would be nice if Xamarin could do something about it this decade.

    Jas.

Sign In or Register to comment.