Düşünceler ion API'sini kullanarak Xamarin.iOS uygulaması oluşturma
The MT. D Düşünceler ion API'si sınıfların MT'nin öznitelikleriyle dekore edilmesini sağlar. D, otomatik olarak ekran oluşturmak için kullanır. Yansıma API'si, bu sınıflar ile ekranda görüntülenenler arasında bir bağlama sağlar. Bu API, öğeler API'sinin yaptığı ayrıntılı denetimi sağlamasa da, sınıf dekorasyonunu temel alan öğe hiyerarşisini otomatik olarak oluşturarak karmaşıklığı azaltır.
MT'nin ayarlanması. D
MT. D, Xamarin.iOS ile dağıtılır. Bunu kullanmak için Visual Studio 2017 veya Mac için Visual Studio bir Xamarin.iOS projesinin Başvurular düğümüne sağ tıklayın ve MonoTouch.Dialog-1 derlemesine başvuru ekleyin. Ardından, kaynak kodunuza gerektiği gibi deyimler ekleyin using MonoTouch.Dialog
.
Düşünceler ion API'sini kullanmaya başlama
Düşünceler ion API'sini kullanmak şu kadar basittir:
- MT ile dekore edilmiş bir sınıf oluşturma. D öznitelikleri.
BindingContext
Yukarıdaki sınıfın bir örneğini geçirerek bir örnek oluşturma.DialogViewController
oluşturma, bunu iletirBindingContext’s
RootElement
.
şimdi Düşünceler ion API'sinin nasıl kullanılacağını gösteren bir örneğe bakalım. Bu örnekte, aşağıda gösterildiği gibi basit bir veri giriş ekranı oluşturacağız:
MT ile sınıf oluşturma. D öznitelikleri
Düşünceler ion API'sini kullanmamız gereken ilk şey özniteliklerle donatılmış bir sınıftır. Bu öznitelikler MT tarafından kullanılır. Öğeler API'sinden nesne oluşturmak için dahili olarak D. Örneğin, aşağıdaki sınıf tanımını göz önünde bulundurun:
public class Expense
{
[Section("Expense Entry")]
[Entry("Enter expense name")]
public string Name;
[Section("Expense Details")]
[Caption("Description")]
[Entry]
public string Details;
[Checkbox]
public bool IsApproved = true;
}
, SectionAttribute
bölümün UITableView
üst bilgisini doldurmak için kullanılan dize bağımsız değişkeniyle oluşturulmakta olan bölümleriyle sonuçlanır. Bir bölüm bildirildikten sonra, bundan sonra gelen her alan, başka bir bölüm bildirilinceye kadar bu bölüme eklenir.
Alan için oluşturulan kullanıcı arabirimi öğesinin türü, alanın türüne ve MT'ye bağlıdır. D özniteliği onu süslüyor.
Örneğin, Name
alan bir string
ve ile EntryAttribute
dekore edilmiştir. Bu, bir metin girişi alanı ve belirtilen başlık ile tabloya bir satır eklenmesine neden olur. Benzer şekilde, IsApproved
alan bool
ile olan CheckboxAttribute
ve tablo hücresinin sağında onay kutusu bulunan bir tablo satırıyla sonuçlanır. MT. D, bir öznitelikte belirtilmediğinden, bu durumda başlık oluşturmak için otomatik olarak bir alan ekleyerek alan adını kullanır.
BindingContext ekleme
sınıfını Expense
kullanmak için bir BindingContext
oluşturmamız gerekir. A BindingContext
, öğe hiyerarşisini oluşturmak için öznitelikli sınıftan verileri bağlayacak bir sınıftır. Bir tane oluşturmak için örneği oluşturmamız ve öznitelikli sınıfın bir örneğini oluşturucuya geçirmemiz yeterlidir.
Örneğin, sınıfında özniteliğini Expense
kullanarak bildirdiğimiz kullanıcı arabirimini eklemek için yöntemine FinishedLaunching
AppDelegate
aşağıdaki kodu ekleyin:
var expense = new Expense ();
var bctx = new BindingContext (null, expense, "Create a task");
Ardından kullanıcı arabirimini oluşturmak için tek yapmamız gereken öğesini öğesine eklemek BindingContext
DialogViewController
ve aşağıda gösterildiği gibi pencere olarak RootViewController
ayarlamaktır:
UIWindow window;
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
window = new UIWindow (UIScreen.MainScreen.Bounds);
var expense = new Expense ();
var bctx = new BindingContext (null, expense, "Create a task");
var dvc = new DialogViewController (bctx.Root);
window.RootViewController = dvc;
window.MakeKeyAndVisible ();
return true;
}
Artık uygulamanın çalıştırılması, yukarıda gösterilen ekranın görüntülenmesiyle sonuçlanır.
UINavigationController ekleme
Ancak, 'a BindingContext
iletmiş olduğumuz "Görev oluştur" başlığının görüntülenmediğini fark edin. Bunun nedeni, öğesinin DialogViewController
bir UINavigatonController
öğesinin parçası olmamasıdır. Şimdi kodu pencere olarak ekleyecek UINavigationController
şekilde değiştirelim ve aşağıda gösterildiği gibi öğesinin UINavigationController
kökü olarak ekleyelimDialogViewController
:RootViewController,
nav = new UINavigationController(dvc);
window.RootViewController = nav;
Uygulamayı çalıştırdığımızda başlık, aşağıdaki ekran görüntüsünde UINavigationController’s
gösterildiği gibi gezinti çubuğunda görünür:
bir UINavigationController
dahil ederek, artık MT'nin diğer özelliklerinden yararlanabiliriz. Gezintinin gerekli olduğu D. Örneğin, gider ve MT kategorisini Expense
tanımlamak için sınıfına bir numaralandırma ekleyebiliriz. D, otomatik olarak bir seçim ekranı oluşturur. Göstermek için sınıfını Expense
aşağıdaki gibi bir ExpenseCategory
alan içerecek şekilde değiştirin:
public enum Category
{
Travel,
Lodging,
Books
}
public class Expense
{
…
[Caption("Category")]
public Category ExpenseCategory;
}
Artık uygulamanın çalıştırılması, gösterildiği gibi kategori için tabloda yeni bir satırla sonuçlanabilir:
Satırın seçilmesi, uygulamanın aşağıda gösterildiği gibi numaralandırmaya karşılık gelen satırlarla yeni bir ekrana geçmesiyle sonuçlanıyor:
Özet
Bu makalede Düşünceler ion API'sine ilişkin bir kılavuz sunulmuştur. Nelerin görüntüleneceğini denetlemek için sınıfa özniteliklerin nasıl ekleneceğini gösterdik. Ayrıca, bir BindingContext
sınıftan oluşturulan öğe hiyerarşisine veri bağlamak için 'nin nasıl kullanılacağını ve MT'nin nasıl kullanılacağını da ele aldık. UINavigationController
ile D.