Custom UIView ไม่ทำงานใน Xamarin

ฉันกำลังพยายามซับคลาส UIView โดยใช้ Xamarin แต่ดูเหมือนจะไม่ได้รับผลลัพธ์ที่ฉันคาดหวัง เพื่อให้สิ่งต่าง ๆ ง่ายขึ้น ฉันมีคลาสต่อไปนี้:

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);
        }
    }
}

เบรกพอยต์ถูกตั้งค่าบนบรรทัด base.Draw(rect); มีมุมมองอยู่ในเค้าโครงสตอรี่บอร์ดของฉันโดยตั้งค่าคลาสเป็น CustomView

ป้อนคำอธิบายรูปภาพที่นี่

อย่างไรก็ตาม เมื่อแอปทำงานและเพจแสดงขึ้น เบรกพอยต์จะไม่ถูกโจมตี และเบรกพอยต์จะแสดงราวกับว่าจะไม่มีวันถูกโจมตี

ป้อนคำอธิบายรูปภาพที่นี่

นี่คือการใช้ Visual Studio สำหรับ Mac v7.1.5 มีอะไรที่ฉันขาดหายไปที่นี่? ดูเหมือนว่ามันควรจะค่อนข้างง่าย แต่ฉันติดเรื่องนี้มาสองสามชั่วโมงแล้ว


person Darren Oster    schedule 25.09.2017    source แหล่งที่มา


คำตอบ (1)


คุณต้องเพิ่มโครงสร้างด้วยพารามิเตอร์ IntPtr ในคลาส CustomView ดังนี้:

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

จากนั้นคลาสนี้สามารถนำไปใช้ในกระดานเรื่องราวได้โดยตรง

รายละเอียดเพิ่มเติมคุณสามารถดูเอกสารอย่างเป็นทางการของ Xamarin: บทสรุป - การใช้การควบคุมแบบกำหนดเองด้วย Xamarin Designer สำหรับ iOS

person Kevin Li    schedule 26.09.2017
comment
ฉันคิดว่าฉันได้ลองทำสิ่งนั้นมาก่อนหน้านี้โดยไม่ประสบความสำเร็จ แต่อย่างใดฉันก็ลงเอยด้วยไฟล์ designer บางส่วนไฟล์ที่สอง ซึ่งมีตัวสร้างนั้นและเมธอด ReleaseDesignerOutlets() ไม่แน่ใจว่าทำไม แต่ตอนนี้ใช้งานได้แล้ว และฉันไม่กล้าทดลองอะไรมากนักในขั้นตอนนี้ - person Darren Oster; 26.09.2017