Aracılığıyla paylaş


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:

İlk çözümün ekran görüntüsü

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:

İlk çözümün ekran görüntüsü

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:

Dizin yapısını ve çözümle ilişkili tüm dosyaları içeren çözüm Bölmesi

Sağ tarafta, dizin yapısını ve çözümle ilişkili tüm dosyaları içeren çözüm Bölmesi yer alır:

Dizin yapısını ve çözümle ilişkili tüm dosyaları içeren çözüm Bölmesi

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.plistInfo.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:

Mimari ve Uygulama Temelleri ilişkileri bu diyagramda gösterilmiştir

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:

Pencere, Görünümler, Alt Görünümler ve görünüm denetleyicisi arasındaki ilişkiler

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:

Görünüm denetleyicisinin seçilmesi Özellikler Bölmesi'nde özelliklerini ortaya çıkarı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:

Telefon word uygulaması ViewController'ı görünüm denetleyicisi olarak ayarlar

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:

Görünüm denetleyicisinin seçilmesi Özellikler Bölmesi'nde özelliklerini ortaya çıkarı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:

Telefon word uygulaması ViewController'ı görünüm denetleyicisi olarak ayarlar

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ı UIViewControllerolarak 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:

İçerik Görünümü Hiyerarşisine TranslateButton adlı bir 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 SetTitleyeni 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 EnabledDisabled durumunda olabilir. Devre dışı bırakılmış bir Düğme kullanıcı girişine yanıt vermez. Örneğin, aşağıdaki kod öğesini CallButtondevre 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ığında TranslateButtonklavyeyi 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:

Başlat/Oynat'a basma

Başlat/Oynat'a basma

Uygulama iOS cihazına dağıtılır:

Uygulama iOS cihazına dağıtılır ve

Ö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.