Merhaba, iOS – Ayrıntılı bakış
Temel bir Xamarin.iOS uygulaması derleme ve çalıştırma ile ilgili Hızlı Başlangıç kılavuzu. Şimdi daha gelişmiş programlar oluşturabilmek için iOS uygulamalarının nasıl çalıştığı hakkında daha ayrıntılı bir anlayış geliştirmenin zamanı geldi. Bu kılavuzda, iOS uygulama geliştirmeyle ilgili temel kavramların anlaşılmasını sağlamak için iOS'un Hello kılavuzunda yer alan adımlar gözden geçirilmektedir.
Bu kılavuz, tek ekranlı bir iOS uygulaması oluşturmak için gereken becerileri ve bilgileri geliştirmenize yardımcı olur. Üzerinde çalıştıktan sonra, Xamarin.iOS uygulamasının farklı bölümlerini ve bunların nasıl bir araya getirdiklerini anlamanız gerekir.
Mac için Visual Studio giriş
Mac için Visual Studio, Visual Studio ve Xcode özelliklerini birleştiren ücretsiz, açık kaynaklı bir IDE'dir. Tamamen tümleşik bir görsel tasarımcı, yeniden düzenleme araçlarıyla tamamlanan bir metin düzenleyicisi, derleme tarayıcısı, kaynak kodu tümleştirmesi ve daha fazlasını içerir. Bu kılavuzda bazı temel Mac için Visual Studio özellikleri tanıtılmaktadır, ancak Mac için Visual Studio yeniyseniz Mac için Visual Studio belgelerine göz atın.
Mac için Visual Studio, kodu çözümler ve projeler halinde düzenlemeye yönelik Visual Studio uygulamasını izler. Çözüm, bir veya daha fazla proje barındırabilen bir kapsayıcıdır. Proje bir uygulama (iOS veya Android gibi), destekleyici kitaplık, test uygulaması ve daha fazlası olabilir. Telefon word uygulamasında, Tek Görünüm Uygulaması şablonu kullanılarak yeni bir i Telefon projesi eklendi. İlk çözüm şöyle görünüyordu:
Visual Studio'ya giriş
Visual Studio, Microsoft'un güçlü bir IDE'dir. Tamamen tümleşik bir görsel tasarımcı, yeniden düzenleme araçlarıyla tamamlanan bir metin düzenleyicisi, derleme tarayıcısı, kaynak kodu tümleştirmesi ve daha fazlasını içerir. Bu kılavuzda, Visual Studio için Xamarin Araçları ile bazı temel Visual Studio özellikleri tanıtılmaktadır.
Visual Studio, kodu çözümler ve projeler halinde düzenler. Çözüm, bir veya daha fazla proje barındırabilen bir kapsayıcıdır. Proje bir uygulama (iOS veya Android gibi), destekleyici kitaplık, test uygulaması ve daha fazlası olabilir. Telefon word uygulamasında, Tek Görünüm Uygulaması şablonu kullanılarak yeni bir i Telefon projesi eklendi. İlk çözüm şöyle görünüyordu:
Xamarin.iOS uygulamasının anatomisi
Sol tarafta, dizin yapısını ve çözümle ilişkili tüm dosyaları içeren çözüm Bölmesi yer alır:
Sağ tarafta, dizin yapısını ve çözümle ilişkili tüm dosyaları içeren çözüm Bölmesi yer alır:
Hello, iOS kılavuzunda, Telefon word adlı bir çözüm oluşturdunuz ve içine bir iOS projesi (Telefon word_iOS) yerleştirdiniz. Proje içindeki öğeler şunlardır:
- Başvurular - Uygulamayı derlemek ve çalıştırmak için gereken derlemeleri içerir. System, System.Core ve System.Xml gibi .NET derlemelerine başvuruları ve Xamarin.iOS derlemesine başvuruyu görmek için dizini genişletin.
- Packages - packages dizini hazır NuGet paketleri içerir.
- Kaynaklar - Resources klasörü diğer medyayı depolar.
- Main.cs: Bu, uygulamanın ana giriş noktasını içerir. Uygulamayı başlatmak için, ana uygulama sınıfının adı olan
AppDelegate
, içinde geçirilir. - AppDelegate.cs – Bu dosya ana uygulama sınıfını içerir ve Window oluşturmaktan, kullanıcı arabirimini oluşturmaktan ve işletim sisteminden olayları dinlemekten sorumludur.
- Main.storyboard - Görsel Taslak, uygulamanın kullanıcı arabiriminin görsel tasarımını içerir. Görsel taslak dosyaları iOS Tasarım Aracı adlı grafik düzenleyicide açılır.
- ViewController.cs : Görünüm denetleyicisi, bir kullanıcının gördüğü ve dokunduğu ekranı (Görünüm) çalıştırır. Görünüm denetleyicisi, kullanıcı ile Görünüm arasındaki etkileşimleri işlemekle sorumludur.
- ViewController.designer.cs :
designer.cs
Görünüm'deki denetimler ile görünüm denetleyicisindeki kod gösterimleri arasında tutkal görevi görerek otomatik olarak oluşturulan bir dosyadır. Bu bir iç tesisat dosyası olduğundan, IDE el ile yapılan değişikliklerin üzerine yazar ve çoğu zaman bu dosya yoksayılabilir. - Info.plist – Info.plist , uygulama adı, simgeler, başlatma görüntüleri ve daha fazlası gibi uygulama özelliklerinin ayarlandığı yerdir. Bu güçlü bir dosyadır ve bu dosyaya ayrıntılı bir giriş özelliği, Özellik Listeleriyle Çalışma kılavuzunda sağlanır.
- Entitlements.plist - Yetkilendirmeler özellik listesi, iCloud, PassKit ve daha fazlası gibi uygulama özelliklerini (App Store Teknolojileri olarak da adlandırılır) belirtmemize olanak tanır. Entitlements.plist hakkında daha fazla bilgiyi Özellik Listeleriyle Çalışma kılavuzunda bulabilirsiniz. Yetkilendirmelere genel bir giriş için Cihaz Sağlama kılavuzuna bakın.
Mimari ve uygulama temelleri
Bir iOS uygulamasının kullanıcı arabirimi yükleyebilmesi için önce iki şeyin yerinde olması gerekir. İlk olarak, uygulamanın bir giriş noktası tanımlaması gerekir: uygulamanın işlemi belleğe yüklendiğinde çalıştırılan ilk kod. İkincisi, uygulama genelindeki olayları işlemek ve işletim sistemiyle etkileşime geçmek için bir sınıf tanımlaması gerekir.
Bu bölüm, aşağıdaki diyagramda gösterilen ilişkileri inceler:
Main yöntemi
Bir iOS uygulamasının ana giriş noktası sınıfıdır Application
. Application
sınıfı Main.cs dosyasında tanımlanır ve statik Main
bir yöntem içerir. Yeni bir Xamarin.iOS uygulama örneği oluşturur ve işletim sistemi olaylarını işleyecek Uygulama Temsilcisi sınıfının adını geçirir. Statik Main
yöntemin şablon kodu aşağıda görünür:
using System;
using UIKit;
namespace Phoneword_iOS
{
public class Application
{
static void Main (string[] args)
{
UIApplication.Main (args, null, "AppDelegate");
}
}
}
Uygulama temsilcisi
iOS'ta Uygulama Temsilcisi sınıfı sistem olaylarını işler; bu sınıf AppDelegate.cs içinde yer alır. AppDelegate
sınıfı, uygulama Penceresini yönetir. Window, kullanıcı arabirimi için kapsayıcı olarak hizmet veren sınıfın tek bir örneğidir UIWindow
. Varsayılan olarak, bir uygulama içeriğinin yüklendiği tek bir Pencere alır ve Pencere, fiziksel cihaz ekranının boyutlarıyla eşleşen sınırlayıcı dikdörtgeni sağlayan bir Ekrana (tek UIScreen
örnek) eklenir.
AppDelegate, uygulamanın başlatılmasının ne zaman bitmesi veya belleğin yetersiz olması gibi önemli uygulama olayları hakkında sistem güncelleştirmelerine abone olmak da sorumludur.
AppDelegate için şablon kodu aşağıda verilmiştir:
using System;
using Foundation;
using UIKit;
namespace Phoneword_iOS
{
[Register ("AppDelegate")]
public partial class AppDelegate : UIApplicationDelegate
{
public override UIWindow Window {
get;
set;
}
...
}
}
Uygulama Window'unu tanımladıktan sonra kullanıcı arabirimini yüklemeye başlayabilir. Sonraki bölümde kullanıcı arabirimi oluşturma işlemi incelenmektedir.
Kullanıcı arabirimi
Bir iOS uygulamasının kullanıcı arabirimi vitrin gibidir; uygulama genellikle bir Pencere alır, ancak Pencere'yi ihtiyaç duyduğu kadar nesneyle doldurabilir ve nesnelerin ve düzenlemelerin, uygulamanın görüntülemek istediklerine bağlı olarak değiştirilebilir. Bu senaryodaki nesneler (kullanıcının gördüğü öğeler) Görünümler olarak adlandırılır. Uygulamada tek bir ekran oluşturmak için, görünümler bir İçerik Görünümü Hiyerarşisi'nde üst üste yığılır ve hiyerarşi tek bir görünüm denetleyicisi tarafından yönetilir. Birden çok ekranı olan uygulamaların her biri kendi görünüm denetleyicisi olan birden çok İçerik Görünümü Hiyerarşisi vardır ve uygulama, kullanıcının üzerinde olduğu ekrana göre farklı bir İçerik Görünümü Hiyerarşisi oluşturmak için Görünümler'i Pencereye yerleştirir.
Görsel Taslakları kullanarak kullanıcı arabirimi oluşturma hakkında daha fazla ayrıntı için, Apple'ın iOS Geliştirici Kitaplığı'ndaki Xcode'a Genel Bakış'ın Görsel Taslaklarla Tasarlama bölümüne bakın.
Aşağıdaki diyagramda, kullanıcı arabirimini cihaz ekranına getiren Pencere, Görünümler, Alt Görünümler ve görünüm denetleyicisi arasındaki ilişkiler gösterilmektedir:
Sonraki bölümde Koddaki Görünümler ile nasıl çalışılacağı ve görünüm denetleyicilerini ve Görünüm yaşam döngüsünü kullanarak kullanıcı etkileşimi için programlamayı öğreneceksiniz.
Denetleyicileri ve yaşam döngüsünü görüntüleme
Her İçerik Görünümü Hiyerarşisi,kullanıcı etkileşimine güç vermek için karşılık gelen bir görünüm denetleyicisine sahiptir. Görünüm denetleyicisinin rolü, İçerik Görünümü Hiyerarşisi'ndeki Görünümleri yönetmektir. Görünüm denetleyicisi İçerik Görünümü Hiyerarşisi'nin bir parçası değildir ve arabirimdeki bir öğe değildir. Bunun yerine, kullanıcının ekrandaki nesnelerle etkileşimlerini destekleyen kodu sağlar.
Denetleyicileri ve görsel taslakları görüntüleme
Görünüm denetleyicisi, Görsel Taslak'ta Sahne'nin en altında bir çubuk olarak gösterilir. Görünüm denetleyicisi seçildiğinde Özellikler Bölmesi'nde özellikleri açılır:
Bu Sahne tarafından temsil edilen İçerik Görünümü Hiyerarşisi için özel bir görünüm denetleyicisi sınıfı, Özellikler Bölmesi'nin Kimlik bölümündeki Sınıf özelliği düzenlenerek ayarlanabilir. Örneğin, Telefon word uygulamamız aşağıdaki ekran görüntüsünde gösterildiği gibi ilk ekranımızın görünüm denetleyicisi olarak öğesini ayarlarViewController
:
Görünüm denetleyicisi, Görsel Taslak'ta Sahne'nin en altında bir çubuk olarak gösterilir. Görünüm denetleyicisinin seçilmesi Özellikler Bölmesi'nde özelliklerini getirir:
Bu Sahne tarafından temsil edilen İçerik Görünümü Hiyerarşisi için özel bir görünüm denetleyicisi sınıfı, Özellikler Bölmesi'nin Kimlik bölümündeki Sınıf özelliği düzenlenerek ayarlanabilir. Örneğin, Telefon word uygulamamız aşağıdaki ekran görüntüsünde gösterildiği gibi ilk ekranımızın görünüm denetleyicisi olarak öğesini ayarlarViewController
:
Bu, görünüm denetleyicisinin Görsel Taslak gösterimini C# sınıfına ViewController
bağlar. ViewController.cs
Dosyayı açın ve bildirim görünümü denetleyicisi, aşağıdaki kodda gösterildiği gibi öğesinin bir alt sınıfıdırUIViewController
:
public partial class ViewController : UIViewController
{
public ViewController (IntPtr handle) : base (handle)
{
}
}
artık ViewController
görsel taslaktaki bu görünüm denetleyicisiyle ilişkili içerik görünümü hiyerarşisinin etkileşimlerini yönlendirmektedir. Ardından görünüm yaşam döngüsü adlı bir işlem sunarak görünüm denetleyicisinin Görünümleri yönetmedeki rolü hakkında bilgi edineceksiniz.
Not
Kullanıcı etkileşimi gerektirmeyen yalnızca görsel ekranlar için, Sınıf özelliği Özellikler Bölmesi'nde boş bırakılabilir. Bu, görünüm denetleyicisinin yedekleme sınıfını, özel kod eklemeyi planlamıyorsanız uygun olan varsayılan uygulaması UIViewController
olarak ayarlar.
Yaşam döngüsünü görüntüleme
Görünüm denetleyicisi, penceredeki içerik görünümü hiyerarşilerini yükleme ve kaldırma sorumluluğundadır. İçerik görünümü hiyerarşisindeki bir görünüme önemli bir şey olduğunda, işletim sistemi görünüm yaşam döngüsündeki olaylar aracılığıyla görünüm denetleyicisine bildirir. Görünüm yaşam döngüsündeki yöntemleri geçersiz kılarak ekrandaki nesnelerle etkileşime girebilir ve dinamik, duyarlı bir kullanıcı arabirimi oluşturabilirsiniz.
Temel yaşam döngüsü yöntemleri ve işlevleri şunlardır:
- ViewDidLoad - Görünüm denetleyicisi İçerik Görünümü Hiyerarşisini belleğe ilk kez yükledikten sonra çağrılır. Bu, alt görünümlerin kodda ilk kullanıma sunulduğu zaman olduğu için ilk kurulumu yapmak için iyi bir yerdir.
- ViewWillAppear - Görünüm denetleyicisinin Görünümü bir İçerik Görünümü Hiyerarşisine eklenmek üzere olduğunda ve ekranda göründüğünde çağrılır.
- ViewWillDisappear - Bir görünüm denetleyicisinin Görünümü İçerik Görünümü Hiyerarşisinden kaldırılıp ekrandan kaybolmak üzere olduğunda çağrılır. Bu yaşam döngüsü olayı, temizleme ve kaydetme durumu için kullanılır.
- ViewDidAppear ve ViewDidDisappear - görünüm sırasıyla İçerik Görünümü Hiyerarşisi'ne eklendiğinde veya kaldırıldığında çağrılır.
Yaşam döngüsünün herhangi bir aşamasına özel kod eklendiğinde, bu yaşam döngüsü yönteminin temel uygulaması geçersiz kılınmalıdır. Bu, mevcut yaşam döngüsü yöntemine dokunarak ve bu yönteme zaten bazı kodların eklenmiş olduğu bir yönteme dokunarak ve bunu ek kodla genişleterek elde edilir. Temel uygulama, özgün kodun yeni koddan önce çalıştığından emin olmak için yönteminin içinden çağrılır. Bunun bir örneği sonraki bölümde gösterilmiştir.
Görünüm denetleyicileriyle çalışma hakkında daha fazla bilgi için Apple'ın iOS için görünüm denetleyicisi Programlama Kılavuzu'na ve UIViewController başvurusuna bakın.
Kullanıcı etkileşimine yanıt verme
Görünüm denetleyicisinin en önemli rolü, düğme basmaları, gezinti ve daha fazlası gibi kullanıcı etkileşimini yanıtlamaktır. Kullanıcı etkileşimini işlemenin en basit yolu, kullanıcı girişini dinlemek için bir denetim ayarlamak ve girişe yanıt vermek için bir olay işleyicisi eklemektir. Örneğin, Telefon word uygulamasında gösterildiği gibi bir dokunma olayına yanıt vermek için bir düğme kablolu olabilir.
Şimdi bunun nasıl çalıştığını inceleyelim.
Projede Phoneword_iOS
, İçerik Görünümü Hiyerarşisi'ne bir TranslateButton
düğme eklendi:
Xcode Interface Builder kullanılarak başvuru çıkışı oluşturulduğunda, Xcode Sync bunu otomatik olarak ViewController.designer.cs bir denetime eşler ve sınıfın ViewController
içinde kullanılabilir hale getirirTranslateButton
. Denetimler önce Yaşam döngüsünü görüntüle aşamasında kullanılabilir ViewDidLoad
hale gelir, bu nedenle bu yaşam döngüsü yöntemi kullanıcının dokunuşunu yanıtlamak için kullanılır:
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// wire up TranslateButton here
}
Telefon word uygulaması, kullanıcının dokunuşunu dinlemek için adlı TouchUpInside
bir dokunma olayı kullanır. TouchUpInside
denetimin sınırları içinde bir dokunmayı (ekrana dokunan parmak) izleyen bir dokunma olayını (ekrandan kaldıran parmak) dinler. Bunun tersi TouchUpInside
, kullanıcı bir denetime TouchDown
bastığında tetiklenen olaydır. Olay TouchDown
çok fazla gürültü yakalar ve kullanıcıya parmaklarını kontrolden kaydırarak dokunmayı iptal etme seçeneği sunar. TouchUpInside
, Düğme dokunmasına yanıt vermenin en yaygın yoludur ve kullanıcının bir düğmeye basarken beklediği deneyimi oluşturur. Bu konuda daha fazla bilgi Apple'ın iOS İnsan Arabirimi Yönergeleri'nde bulunabilir.
Uygulama olayı bir lambda ile işledi TouchUpInside
, ancak bir temsilci veya adlandırılmış bir olay işleyicisi de kullanılmış olabilir. Son Düğme kodu aşağıdakine benzerdi:
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
string translatedNumber = "";
TranslateButton.TouchUpInside += (object sender, EventArgs e) => {
translatedNumber = Core.PhonewordTranslator.ToNumber(PhoneNumberText.Text);
PhoneNumberText.ResignFirstResponder ();
if (translatedNumber == "") {
CallButton.SetTitle ("Call", UIControlState.Normal);
CallButton.Enabled = false;
} else {
CallButton.SetTitle ("Call " + translatedNumber, UIControlState.Normal);
CallButton.Enabled = true;
}
};
}
Telefon word'da sunulan ek kavramlar
Telefon word uygulaması bu kılavuzda ele alınmayan çeşitli kavramlar kullanıma sunulmuştur. Bu kavramlar şunlardır:
Düğme Metnini Değiştir – Telefon word uygulaması, Düğme'yi arayarak
SetTitle
yeni metni ve Düğmenin Denetim Durumunu geçirerek Düğmeninmetninin nasıl değiştireceğini göstermiştir. Örneğin, aşağıdaki kod CallButton metnini "Çağrı" olarak değiştirir:CallButton.SetTitle ("Call", UIControlState.Normal);
Düğmeleri Etkinleştir ve Devre Dışı Bırak – Düğmeler veya
Enabled
Disabled
durumunda olabilir. Devre dışı bırakılmış bir Düğme kullanıcı girişine yanıt vermez. Örneğin, aşağıdaki kod öğesiniCallButton
devre dışı bırakır:CallButton.Enabled = false;
Düğmeler hakkında daha fazla bilgi için Düğmeler kılavuzuna bakın.
Klavyeyi kapatma – Kullanıcı Metin Alanı'na dokunduğunda, iOS kullanıcının giriş girmesine izin vermek için klavyeyi görüntüler. Ne yazık ki, klavyeyi kapatmaya ilişkin yerleşik bir işlev yoktur. Kullanıcı tuşuna
TranslateButton
bastığındaTranslateButton
klavyeyi kapatmak için öğesine aşağıdaki kod eklenir:PhoneNumberText.ResignFirstResponder ();
Klavyeyi kapatmaya yönelik başka bir örnek için Klavyeyi Kapatma tarifine bakın.
URL ile Telefon Arama Yerleştir – Telefon word uygulamasında, sistem telefon uygulamasını başlatmak için bir Apple URL düzeni kullanılır. Özel URL düzeni, aşağıdaki kodda gösterildiği gibi "tel:" ön ekini ve çevrilmiş telefon numarasını içerir:
var url = new NSUrl ("tel:" + translatedNumber); if (!UIApplication.SharedApplication.OpenUrl (url)) { // show alert Controller }
Uyarı Göster – Kullanıcı aramaları desteklemeyen bir cihaza (örneğin simülatör veya iPod Touch) telefon araması yapmaya çalıştığında, kullanıcıya telefon aramasının yerleştirilebileceğini bildirmek için bir uyarı iletişim kutusu görüntülenir. Aşağıdaki kod bir uyarı denetleyicisi oluşturur ve doldurur:
if (!UIApplication.SharedApplication.OpenUrl (url)) { var alert = UIAlertController.Create ("Not supported", "Scheme 'tel:' is not supported on this device", UIAlertControllerStyle.Alert); alert.AddAction (UIAlertAction.Create ("Ok", UIAlertActionStyle.Default, null)); PresentViewController (alert, true, null); }
iOS uyarı görünümleri hakkında daha fazla bilgi için Uyarı Denetleyicisi tarifine bakın.
Test, dağıtım ve son rötuşlar
Hem Mac için Visual Studio hem de Visual Studio bir uygulamayı test edip dağıtmak için birçok seçenek sunar. Bu bölüm hata ayıklama seçeneklerini kapsar, cihazdaki test uygulamalarını gösterir ve özel uygulama simgeleri oluşturmak ve görüntüleri başlatmak için araçlar sunar.
Hata ayıklama araçları
Bazen uygulama kodundaki sorunları tanılamak zordur. Karmaşık kod sorunlarını tanılamaya yardımcı olmak için Günlük Penceresi'ne Kesme Noktası, Adım Adım Kod veya Çıkış Bilgileri ayarlayabilirsiniz.
Bir cihaza dağıtma
iOS Simülatörü, bir uygulamayı test etmenin hızlı bir yoludur. Simülatör, sahte konum , hareket simülasyonu ve daha fazlası dahil olmak üzere test için bir dizi yararlı iyileştirmeye sahiptir. Ancak, kullanıcılar bir Simülatör'de son uygulamayı kullanmaz. Tüm uygulamalar gerçek cihazlarda erken ve sık sık test edilmelidir.
Bir cihazın sağlanması zaman alır ve bir Apple Geliştirici Hesabı gerektirir. Cihaz Sağlama kılavuzu, bir cihazı geliştirme için hazırlama hakkında ayrıntılı yönergeler sağlar.
Not
Şu anda, Apple'ın bir gereksinimi nedeniyle, kodunuzu fiziksel bir cihaz veya simülatör için oluşturmak üzere bir geliştirme sertifikasına veya imzalama kimliğine sahip olmak gerekir. Bunu ayarlamak için Cihaz Sağlama kılavuzundaki adımları izleyin.
Cihaz sağlandıktan sonra, cihazı takarak, derleme araç çubuğundaki hedefi iOS Cihazı olarak değiştirerek ve aşağıdaki ekran görüntüsünde gösterildiği gibi Başlat (Yürüt) tuşuna basarak dağıtabilirsiniz:
Uygulama iOS cihazına dağıtılır:
Özel simgeler oluşturma ve görüntüleri başlatma
Herkesin özel simgeleri oluşturmak ve bir uygulamanın öne çıkması gereken görüntüleri başlatmak için kullanabileceği bir tasarımcısı yoktur. Özel uygulama resmi oluşturmaya yönelik birkaç alternatif yaklaşım aşağıda verilmiştir:
- Pixelmator : Mac için yaklaşık 30 ABD doları tutarında çok yönlü bir görüntü düzenleme uygulaması.
- Fiverr : Sizin için 5 ABD dolarından başlayan bir simge kümesi oluşturmak için çeşitli tasarımcılar arasından seçim yapın. Anında tasarlanmış simgelere ihtiyacınız varsa isabet alabilir veya kaçırabilirsiniz ama iyi bir kaynak
- Visual Studio : Doğrudan IDE'de uygulamanız için basit bir simge kümesi oluşturmak için bunu kullanabilirsiniz.
- Fiverr : Sizin için 5 ABD dolarından başlayan bir simge kümesi oluşturmak için çeşitli tasarımcılar arasından seçim yapın. Anında tasarlanmış simgelere ihtiyacınız varsa isabet alabilir veya kaçırabilirsiniz ama iyi bir kaynak
Simge ve başlatma görüntüsü boyutları ve gereksinimleri hakkında daha fazla bilgi için Resimlerle Çalışma kılavuzuna bakın.
Özet
Tebrikler! Artık bir Xamarin.iOS uygulamasının bileşenlerini ve bunları oluşturmak için kullanılan araçları iyice kavramış oldunuz. Başlarken serisinin sonraki öğreticisinde, uygulamamızı birden çok ekranı işleyecek şekilde genişleteceksiniz. Gezinti Denetleyicisi uygulama yolu boyunca Görsel Taslak Segues hakkında bilgi edinecek ve uygulamanızı birden çok ekranı işleyecek şekilde genişletirken Model, Görünüm, Denetleyici (MVC) desenini tanıtacaksınız.