2013-06-11 2 views
1

У меня возникли проблемы с добавлением элемента UIScrollable для экрана в моем проекте MvvmCross. Я добавил элемент управления scrollView к подсмотру представления и после этого добавил Я благодарен за любую помощь. Вот код для просмотра ли нагрузка:MvvmCross Добавить UIScrollable

public override void ViewDidLoad() 
    { 
     View = new UniversalView(); 

     base.ViewDidLoad(); 



     this.scrollView = new UIScrollView(new RectangleF(0, 0, this.View.Frame.Width, this.View.Frame.Height - this.NavigationController.NavigationBar.Frame.Height)); 
     this.View.AddSubview(scrollView); 



     var lastName = new UITextField(new RectangleF(0f, 0f, 320f, 40f)); 
     lastName.Placeholder = "Last Name"; 
     this.View.AddSubview(lastName); 
     var firstName = new UITextField(new RectangleF(0f, 50f, 320f, 40f)); 
     firstName.Placeholder = "First Name"; 
     this.View.AddSubview(firstName); 
     var middleInitial = new UITextField(new RectangleF(0f, 100f, 320f, 40f)); 
     middleInitial.Placeholder = "Middle Initial"; 
     this.View.AddSubview(middleInitial); 
     var phoneNumber = new UITextField(new RectangleF(0f, 150f, 320f, 40f)); 
     phoneNumber.Placeholder = "Phone Number"; 
     this.View.AddSubview(middleInitial); 
     var streetAddress = new UITextField(new RectangleF(0f, 200f, 320f, 40f)); 
     streetAddress.Placeholder = "Street Address"; 
     this.View.AddSubview(streetAddress); 
     var city = new UITextField(new RectangleF(0f, 250f, 320f, 40f)); 
     city.Placeholder = "City"; 
     this.View.AddSubview(city); 
     var state = new UITextField(new RectangleF(0f, 200f, 320f, 40f)); 
     state.Placeholder = "State"; 
     this.View.AddSubview(state); 
     var zip = new UITextField(new RectangleF(0f, 250f, 320f, 40f)); 
     zip.Placeholder = "Zip Code"; 
     this.View.AddSubview(zip); 
     var date = new UITextField(new RectangleF(0f, 200f, 320f, 40f)); 
     date.Placeholder = "Date of Appointment"; 
     this.View.AddSubview(date); 
     var agentID = new UITextField(new RectangleF(0f, 250f, 320f, 40f)); 
     agentID.Placeholder = "Agent ID"; 
     this.View.AddSubview(agentID); 

     var set = this.CreateBindingSet<AddScope, AddScopeViewModel>(); 
     set.Bind(lastName).To(vm => vm.BeneficiaryLastName); 
     set.Bind(firstName).To(vm => vm.BeneficiaryFirstName); 
     set.Bind(middleInitial).To(vm => vm.BeneficiaryMiddleInitial); 
     set.Bind(phoneNumber).To(vm => vm.BeneficiaryPhone); 
     set.Bind(streetAddress).To(vm => vm.BeneficiaryStreetAddress); 
     set.Bind(city).To(vm => vm.BeneficiaryCity); 
     set.Bind(state).To(vm => vm.BeneficiaryState); 
     set.Bind(zip).To(vm => vm.BeneficiaryZip); 
     set.Bind(date).To(vm => vm.DateOfAppointment); 
     set.Bind(agentID).To(vm => vm.AgentID); 
     set.Apply(); 

    } 

ответ

1

Это думает, что главная проблема с этим примером кодом является то, что вы не добавляете ребенку UIView сек в UIScrollView

Быстрого исправление может быть использовать scrollview как ваш главный Вид:

public override void ViewDidLoad() 
{ 
    View = 
      new UIScrollView(new RectangleF(0, 0, this.View.Frame.Width, 
              this.View.Frame.Height)) 
       { 
        ContentSize = new SizeF(320, 800), 
        BackgroundColor = UIColor.Red 
       }; 

    base.ViewDidLoad(); 

    var lastName = new UITextField(new RectangleF(0f, 0f, 320f, 40f)); 
    lastName.Placeholder = "Last Name"; 
    this.View.AddSubview(lastName); 
    var firstName = new UITextField(new RectangleF(0f, 50f, 320f, 40f)); 
    firstName.Placeholder = "First Name"; 
    this.View.AddSubview(firstName); 
    var middleInitial = new UITextField(new RectangleF(0f, 100f, 320f, 40f)); 
    middleInitial.Placeholder = "Middle Initial"; 
    this.View.AddSubview(middleInitial); 
    var phoneNumber = new UITextField(new RectangleF(0f, 150f, 320f, 40f)); 
    phoneNumber.Placeholder = "Phone Number"; 
    this.View.AddSubview(middleInitial); 
    var streetAddress = new UITextField(new RectangleF(0f, 200f, 320f, 40f)); 
    streetAddress.Placeholder = "Street Address"; 
    this.View.AddSubview(streetAddress); 
    var city = new UITextField(new RectangleF(0f, 250f, 320f, 40f)); 
    city.Placeholder = "City"; 
    this.View.AddSubview(city); 
    var state = new UITextField(new RectangleF(0f, 200f, 320f, 40f)); 
    state.Placeholder = "State"; 
    this.View.AddSubview(state); 
    var zip = new UITextField(new RectangleF(0f, 250f, 320f, 40f)); 
    zip.Placeholder = "Zip Code"; 
    this.View.AddSubview(zip); 
    var date = new UITextField(new RectangleF(0f, 200f, 320f, 40f)); 
    date.Placeholder = "Date of Appointment"; 
    this.View.AddSubview(date); 
    var agentID = new UITextField(new RectangleF(0f, 250f, 320f, 40f)); 
    agentID.Placeholder = "Agent ID"; 
    this.View.AddSubview(agentID); 

    var set = this.CreateBindingSet<AddScope, AddScopeViewModel>(); 
    set.Bind(lastName).To(vm => vm.BeneficiaryLastName); 
    set.Bind(firstName).To(vm => vm.BeneficiaryFirstName); 
    set.Bind(middleInitial).To(vm => vm.BeneficiaryMiddleInitial); 
    set.Bind(phoneNumber).To(vm => vm.BeneficiaryPhone); 
    set.Bind(streetAddress).To(vm => vm.BeneficiaryStreetAddress); 
    set.Bind(city).To(vm => vm.BeneficiaryCity); 
    set.Bind(state).To(vm => vm.BeneficiaryState); 
    set.Bind(zip).To(vm => vm.BeneficiaryZip); 
    set.Bind(date).To(vm => vm.DateOfAppointment); 
    set.Bind(agentID).To(vm => vm.AgentID); 
    set.Apply(); 
} 
+0

Не могли бы вы рассказать мне, как установить границу вокруг UITextFields? По умолчанию они идут без границы. Просто пытаюсь избежать XCode ха-ха. –

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