Xamarin.iOS'ta Kullanıcı Arabirimi Nesneleri Oluşturma
Apple, ilgili işlev parçalarını Xamarin.iOS ad alanlarına eşit olan "çerçeveler" olarak gruplandırır. UIKit
, iOS için tüm kullanıcı arabirimi denetimlerini içeren ad alanıdır.
Kodunuzun etiket veya düğme gibi bir kullanıcı arabirimi denetimine başvurması gerektiğinde aşağıdaki using deyimini eklemeyi unutmayın:
using UIKit;
Bu bölümde ele alınan tüm denetimler UIKit ad alanındadır ve her kullanıcı denetim sınıfı adının ön eki vardır UI
.
Kullanıcı arabirimi denetimlerini ve düzenlerini üç şekilde düzenleyebilirsiniz:
- Xamarin iOS Tasarım Aracı – Ekranları tasarlamak için Xamarin'in yerleşik düzen tasarımcısını kullanın. Yerleşik tasarımcıyla düzenlemek için görsel taslak veya XIB dosyalarına çift tıklayın.
- Xcode Interface Builder – Arabirim Oluşturucusu ile denetimleri ekran düzenlerinize sürükleyin. Çözüm Bölmesi'nde dosyaya sağ tıklayıp Xcode Arabirimi Oluşturucusu ile > Aç'ı seçerek görsel taslak veya XIB dosyasını Xcode'da açın.
- C# kullanarak – Denetimler de program aracılığıyla kodla oluşturulabilir ve görünüm hiyerarşisine eklenebilir.
Yeni Görsel Taslak ve XIB dosyaları, bir iOS projesine sağ tıklayıp Yeni Dosya Ekle>... seçilerek eklenebilir.
Hangi yöntemi kullanırsanız kullanın, denetim özellikleri ve olayları uygulama mantığınızda C# ile yine de işlenebilir.
Xamarin iOS Tasarım Aracı kullanma
iOS Tasarım Aracı kullanıcı arabiriminizi oluşturmaya başlamak için görsel taslak dosyasına çift tıklayın. Denetimler aşağıda gösterildiği gibi Araç Kutusu'ndan tasarım yüzeyine sürüklenebilir:
Tasarım yüzeyinde bir denetim seçildiğinde, Özellikler Bölmesi bu denetimin özniteliklerini gösterir. Aşağıdaki ekran görüntüsünde doldurulan Pencere Öğesi > Kimlik > Adı alanı Çıkış adı olarak kullanılır. C# dilinde denetime bu şekilde başvurabilirsiniz:
iOS tasarımcısının kullanımına daha ayrıntılı bir bakış için iOS Tasarım Aracı giriş kılavuzuna bakın.
Xcode Arabirim Oluşturucusu'nu kullanma
Interface Builder'ı kullanmayı bilmiyorsanız Apple'ın Interface Builder belgelerine bakın.
Görsel Taslak'ı Xcode'da açmak için görsel taslak dosyasının bağlam menüsüne erişmek için sağ tıklayın ve Xcode Arabirim Oluşturucusu ile açmayı seçin:
Denetimler, aşağıda gösterilen Nesne Kitaplığı'ndan Tasarım Yüzeyine sürüklenebilir:
Arabirim Oluşturucusu ile kullanıcı arabiriminizi tasarlarken, C# dilinde başvurmak istediğiniz her denetim için bir Outlet oluşturmanız gerekir. Bu işlem, Xcode araç çubuğu düğmesindeki orta Düzenleyici düğmesini kullanarak Yardımcı Düzenleyici'yi açarak yapılır:
Kullanıcı arabirimi nesnesine tıklayın; ardından Denetim .h dosyasına sürükleyin . Sürüklemeyi Denetlemek için denetim tuşunu basılı tutun, ardından çıkışını (veya eylemi) oluşturduğunuz kullanıcı arabirimi nesnesine tıklayın ve basılı tutun. Üst bilgi dosyasına sürüklerken Control tuşunu basılı tutun. Tanımın altına sürüklemeyi @interface
tamamlayın. Aşağıdaki ekran görüntüsünde gösterildiği gibi, başlık Çıkış Ekle veya Çıkış Koleksiyonu ile birlikte mavi bir çizgi görünmelidir.
Tıklamayı bıraktığınızda Outlet için kodda başvurulabilecek bir C# özelliği oluşturmak için kullanılacak bir ad sağlamanız istenir:
Xcode'un Arabirim Oluşturucusu'nun Mac için Visual Studio ile tümleştirilmesi hakkında daha fazla bilgi için Xib Kod Oluşturma belgesine bakın.
C# kullanma
C# kullanarak program aracılığıyla bir kullanıcı arabirimi nesnesi oluşturmaya karar verirseniz (örneğin, Görünüm veya Görünüm Denetleyicisinde), şu adımları izleyin:
- Kullanıcı arabirimi nesnesi için bir sınıf düzeyi alanı bildirin. Örneğin,
ViewDidLoad
denetimin kendisini bir kez oluşturun. Nesneye daha sonra Görünüm Denetleyicisi'nin yaşam döngüsü yöntemleri (örn.ViewWillAppear
) boyunca başvurulabilir. - Denetimin çerçevesini tanımlayan bir
CGRect
oluşturun (ekranda X ve Y koordinatlarının yanı sıra genişliği ve yüksekliği). Bunun için birusing CoreGraphics
yönergeniz olduğundan emin olmanız gerekir. - Denetimi oluşturmak ve atamak için oluşturucuyu çağırın.
- Tüm özellikleri veya olay işleyicilerini ayarlayın.
- Denetimi görünüm hiyerarşisine eklemek için çağrısı
Add()
.
C# kullanarak Görünüm Denetleyicisinde oluşturma UILabel
işleminin basit bir örneği aşağıda verilmiştir:
UILabel label1;
public override void ViewDidLoad () {
base.ViewDidLoad ();
var frame = new CGRect(10, 10, 300, 30);
label1 = new UILabel(frame);
label1.Text = "New Label";
View.Add (label1);
}
C# ve Görsel Taslakları Kullanma
Görünüm Denetleyicileri Tasarım Yüzeyine eklendiğinde, projede buna karşılık gelen iki C# dosyası oluşturulur. Bu örnekte ve ControlsViewController.cs
ControlsViewController.designer.cs
otomatik olarak oluşturulmuştur:
Dosya ControlsViewController.cs
kodunuz için tasarlanmıştır. ve gibi ViewDidLoad
ViewWillAppear
yaşam döngüsü yöntemlerinin View
uygulandığı ve kendi özelliklerinizi, alanlarınızı ve yöntemlerinizi ekleyebileceğiniz yerdir.
ControlsViewController.designer.cs
kısmi bir sınıf içeren kod oluşturulur. tasarım yüzeyindeki bir denetimi Mac için Visual Studio adlandırdığınızda veya Xcode'da bir çıkış veya eylem oluşturduğunuzda, tasarımcı (designer.cs) dosyasına karşılık gelen bir özellik veya kısmi bir yöntem eklenir. Aşağıdaki kod, iki düğme ve bir metin görünümü için oluşturulan ve düğmelerden birinin de olay içeren bir TouchUpInside
kod örneğini gösterir.
Kısmi sınıfın bu öğeleri kodunuzun denetimlere başvurmasını ve tasarım yüzeyinde bildirilen eylemlere yanıt vermesini sağlar:
[Register ("ControlsViewController")]
partial class ControlsViewController
{
[Outlet]
[GeneratedCodeAttribute ("iOS Designer", "1.0")]
UIKit.UIButton Button1 { get; set; }
[Outlet]
[GeneratedCodeAttribute ("iOS Designer", "1.0")]
UIKit.UIButton Button2 { get; set; }
[Outlet]
[GeneratedCodeAttribute ("iOS Designer", "1.0")]
UIKit.UITextField textfield1 { get; set; }
[Action ("button2_TouchUpInside:")]
[GeneratedCodeAttribute ("iOS Designer", "1.0")]
partial void button2_TouchUpInside (UIButton sender);
void ReleaseDesignerOutlets ()
{
if (Button1 != null) {
Button1.Dispose ();
Button1 = null;
}
if (Button2 != null) {
Button2.Dispose ();
Button2 = null;
}
if (textfield1 != null) {
textfield1.Dispose ();
textfield1 = null;
}
}
}
}
Dosya designer.cs
el ile düzenlenmemelidir; IDE (Mac için Visual Studio veya Visual Studio) görsel taslakla eşitlenmiş durumda tutmakla sorumludur.
Kullanıcı arabirimi nesneleri veya View
ViewController
öğesine program aracılığıyla eklendiğinde, nesne başvurularını kendiniz oluşturur ve yönetirsiniz ve bu nedenle tasarımcı dosyası gerekmez.