2016-01-19 5 views
1

Я начинаю с Xamarin, и это мое первое приложение. Я делаю только первые шаги: создаю представление. Моя проблема в том, что он не заполняет весь экран. Я удалил представление, а затем создал окно с той же проблемой.Окно не заполняет весь экран

Это XIB:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6211" systemVersion="14A298i" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES"> 
    <dependencies> 
     <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6204"/> 
    </dependencies> 
    <objects> 
     <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="LoginView"> 
      <connections> 

       <outlet property="window" destination="7" id="176-fQ-JAJ"/> 
      </connections> 
     </placeholder> 
     <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> 
     <window opaque="NO" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="7"> 
      <rect key="frame" x="0.0" y="0.0" width="320" height="568"/> 
      <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/> 
      <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/> 
      <simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/> 
      <point key="canvasLocation" x="-0.2000008" y="20.2"/> 
      <subviews> 
       <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="Label" lineBreakMode="tailTruncation" minimumFontSize="10" id="8" translatesAutoresizingMaskIntoConstraints="NO" fixedFrame="YES"> 
        <rect key="frame" x="139" y="33" width="42" height="21"/> 
        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> 
        <fontDescription key="fontDescription" type="system" pointSize="17"/> 
        <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> 
        <nil key="highlightedColor"/> 
       </label> 
      </subviews> 
     </window> 
    </objects> 
    <resources> 
     <image name="Media.xcassets/AppIcons.appiconset/ic_launcher_120x120.png" width="120" height="120"/> 
     <image name="Media.xcassets/AppIcons.appiconset/ic_launcher_152x152.png" width="152" height="152"/> 
     <image name="Media.xcassets/AppIcons.appiconset/ic_launcher_180x180.png" width="180" height="180"/> 
     <image name="Media.xcassets/AppIcons.appiconset/ic_launcher_29x29.png" width="29" height="29"/> 
     <image name="Media.xcassets/AppIcons.appiconset/ic_launcher_40x40.png" width="40" height="40"/> 
     <image name="Media.xcassets/AppIcons.appiconset/ic_launcher_58x58.png" width="58" height="58"/> 
     <image name="Media.xcassets/AppIcons.appiconset/ic_launcher_76x76.png" width="76" height="76"/> 
     <image name="Media.xcassets/AppIcons.appiconset/ic_launcher_80x80.png" width="80" height="80"/> 
     <image name="Media.xcassets/AppIcons.appiconset/ic_launcher_87x87.png" width="87" height="87"/> 
    </resources> 
</document> 

Что я делаю неправильно? Заранее спасибо.

Редактировать.

public partial class LoginView : BaseView<LoginViewModel> 
    { 
     public LoginView() : base("LoginView", null) 
     { 
     } 

     public override void DidReceiveMemoryWarning() 
     { 
      base.DidReceiveMemoryWarning(); 

      // Release any cached data, images, etc that aren't in use. 
     } 

     public override void ViewDidLoad() 
     { 
      base.ViewDidLoad(); 

      NavigationController.NavigationBarHidden = true; 
      // Perform any additional setup after loading the view, typically from a nib. 
     } 

    } 

BaseView:

public abstract class BaseView<TViewModel> : MvxViewController, IView<TViewModel> where TViewModel : IViewModel 
    { 
     private IConfigurationService configurationService; 
     private IGlobalizationService globalizationService; 

     public BaseView(string nibName, NSBundle bundle) : base(nibName, bundle) 
     { } 

     public IConfigurationService ConfigurationService 
     { 
      get 
      { 
       if (this.configurationService == null) 
       { 
        this.configurationService = Mvx.Resolve<IConfigurationService>(); 
       } 

       return this.configurationService; 
      } 
     } 
     public IGlobalizationService GlobalizationService 
     { 
      get 
      { 
       if (this.globalizationService == null) 
       { 
        this.globalizationService = Mvx.Resolve<IGlobalizationService>(); 
       } 

       return this.globalizationService; 
      } 
     } 
     public new TViewModel ViewModel 
     { 
      get { return (TViewModel)base.ViewModel; } 
      set { base.ViewModel = value; } 
     } 

This is how the view is shwoing

+0

Возможный дубликат [IOS приложение не Наполните iPhone Screen] (http://stackoverflow.com/questions/25929565/ios-application-doesnt-fill-iphone-screen) – Jason

+0

Я использую MVVM Cross, поэтому я не использую UIViewController или экран запуска. Я также не использую Xcode ... Я разрабатываю Visual Studio. Я сделал свой собственный LaunchScreen, не называя его info.plist –

+1

Привет, Даниэль, как вы создаете свой взгляд или ViewController? MvvmCross - это очень тонкая оболочка вокруг собственного iOS ViewController. Можете ли вы показать код для реального контроллера представления или как вы создаете представление? Нам нужно немного больше информации, чтобы продолжить. – Stephanvs

ответ

1

Решение добавляет этот код в функции ViewDidLoad

 NavigationController.NavigationBarHidden = true; 
+1

Я рад, что вы это решили, но ваше описание «окна не заполняет экран» было ужасно неточно – Jason

+0

да, извините. Было поздно. Еще раз спасибо. –

Смежные вопросы