UIView khusus tidak berfungsi di Xamarin

Saya mencoba membuat subkelas UIView menggunakan Xamarin tetapi sepertinya tidak mendapatkan hasil yang saya harapkan. Untuk mempermudah, saya memiliki kelas berikut:

using System;
using CoreGraphics;
using Foundation;
using UIKit;

namespace ExerciseTracker.iOS.Views
{
    [Register("CustomView")]
    public class CustomView : UIView
    {
        public override void Draw(CGRect rect)
        {
            base.Draw(rect);
        }
    }
}

Breakpoint diatur pada baris base.Draw(rect);. Ada tampilan di tata letak Storyboard saya dengan kelasnya disetel ke CustomView.

masukkan deskripsi gambar di sini

Namun, ketika aplikasi dijalankan dan halaman ditampilkan, breakpoint tidak pernah tercapai, dan breakpoint ditampilkan seolah-olah tidak pernah tercapai.

masukkan deskripsi gambar di sini

Ini menggunakan Visual Studio untuk Mac v7.1.5. Apakah ada yang saya lewatkan di sini? Sepertinya ini cukup sederhana, tapi saya sudah terjebak selama beberapa jam dalam hal ini.


person Darren Oster    schedule 25.09.2017    source sumber


Jawaban (1)


Anda perlu menambahkan konstruk dengan parameter IntPtr di kelas CustomView, seperti ini:

public CustomView(IntPtr p): base(p)
{
    //Your initialization code.
}

Kemudian kelas ini bisa langsung digunakan di storyboard.

Lebih detailnya Anda dapat merujuk ke dokumentasi resmi Xamarin ini: Panduan - Menggunakan Kontrol Kustom dengan Desainer Xamarin untuk iOS.

person Kevin Li    schedule 26.09.2017
comment
Saya pikir saya telah mencobanya sebelumnya tanpa hasil, tetapi entah bagaimana saya berakhir malam ini dengan file parsial designer kedua, yang memiliki konstruktor tersebut serta metode ReleaseDesignerOutlets(). Tidak yakin kenapa, tapi sekarang sudah berhasil dan saya tidak berani mencoba banyak eksperimen pada tahap ini. - person Darren Oster; 26.09.2017