// // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // public override bool FinishedLaunching( UIApplication app, NSDictionary options ) { #if !DEBUG if( string.IsNullOrEmpty( GeneralConfig.Localyitics_iOS_Key ) == false ) { Localytics.AutoIntegrate( GeneralConfig.Localyitics_iOS_Key, options ); } #endif // create a new window instance based on the screen size window = new UIWindow( UIScreen.MainScreen.Bounds ); // If you have defined a root view controller, set it here: Springboard = Storyboard.InstantiateInitialViewController() as SpringboardViewController; window.RootViewController = Springboard; // make the window visible window.MakeKeyAndVisible( ); // request the Playback category session NSError error; AVAudioSession instance = AVAudioSession.SharedInstance(); instance.SetCategory(new NSString("AVAudioSessionCategoryPlayback"), AVAudioSessionCategoryOptions.MixWithOthers, out error); instance.SetMode(new NSString("AVAudioSessionModeDefault"), out error); instance.SetActive(true, AVAudioSessionSetActiveOptions.NotifyOthersOnDeactivation, out error); return true; }
public SpringboardElement( SpringboardViewController controller, Task task, UIView backingView, string imageChar, string labelStr ) { Task = task; // setup the backing view BackingView = backingView; BackingView.BackgroundColor = UIColor.Clear; //The button should look as follows: // [ X Text ] // To make sure the icons and text are all aligned vertically, // we will actually create a backing view that can highlight (the []s) // and place a logo view (the X), and a text view (the Text) on top. // Finally, we'll make the button clear with no text and place it over the // backing view. // Create the logo view containing the image. LogoView = new UILabel(); LogoView.Text = imageChar; LogoView.Font = FontManager.GetFont( PrivateControlStylingConfig.Icon_Font_Primary, PrivateSpringboardConfig.Element_FontSize ); LogoView.SizeToFit( ); LogoView.BackgroundColor = UIColor.Clear; BackingView.AddSubview( LogoView ); // Create the text, and populate it with the button's requested text, color and font. TextLabel = new UILabel(); TextLabel.Text = labelStr; TextLabel.Font = FontManager.GetFont( ControlStylingConfig.Font_Regular, ControlStylingConfig.Medium_FontSize ); TextLabel.BackgroundColor = UIColor.Clear; TextLabel.SizeToFit( ); BackingView.AddSubview( TextLabel ); // Create the seperator Seperator = new UIView( ); Seperator.BackgroundColor = Rock.Mobile.UI.Util.GetUIColor( ControlStylingConfig.BG_Layer_Color ); BackingView.AddSubview( Seperator ); // Create the button Button = new UIButton( UIButtonType.Custom ); Button.Layer.AnchorPoint = CGPoint.Empty; Button.BackgroundColor = UIColor.Clear; Button.TouchUpInside += (object sender, EventArgs e) => { controller.ActivateElement( this ); }; BackingView.AddSubview( Button ); // position the controls Button.Bounds = BackingView.Bounds; LogoView.Layer.Position = new CGPoint( PrivateSpringboardConfig.Element_LogoOffsetX_iOS, BackingView.Frame.Height / 2 ); TextLabel.Layer.Position = new CGPoint( PrivateSpringboardConfig.Element_LabelOffsetX_iOS + ( TextLabel.Frame.Width / 2 ), BackingView.Frame.Height / 2 ); Seperator.Frame = new CGRect( 0, 0, Button.Frame.Width, 1.0f ); Deactivate( ); }
// This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // public override bool FinishedLaunching( UIApplication app, NSDictionary options ) { #if !DEBUG LocalyticsBinding.Localytics.Integrate( GeneralConfig.iOS_Localytics_Key ); if( app.ApplicationState != UIApplicationState.Background ) { LocalyticsBinding.Localytics.OpenSession( ); } #endif // create a new window instance based on the screen size. If we're a phone launched in landscape (only possible on the iPhone 6+), // force a portait layout. if ( UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone && UIScreen.MainScreen.Bounds.Height < UIScreen.MainScreen.Bounds.Width ) { window = new UIWindow( new CoreGraphics.CGRect( 0, 0, UIScreen.MainScreen.Bounds.Height, UIScreen.MainScreen.Bounds.Width ) ); } else { // for ipads or portait phones, use the default window = new UIWindow( UIScreen.MainScreen.Bounds ); } // If you have defined a root view controller, set it here: Springboard = new SpringboardViewController( ); window.RootViewController = Springboard; // make the window visible window.MakeKeyAndVisible( ); // request the Playback category session NSError error; AVAudioSession instance = AVAudioSession.SharedInstance(); instance.SetCategory(new NSString("AVAudioSessionCategoryPlayback"), AVAudioSessionCategoryOptions.MixWithOthers, out error); instance.SetMode(new NSString("AVAudioSessionModeDefault"), out error); instance.SetActive(true, AVAudioSessionSetActiveOptions.NotifyOthersOnDeactivation, out error); return true; }