Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
iOS 6 включает различные новые технологии для разработки приложений, которые Xamarin.iOS 6 приносит разработчикам C#.
С iOS 6 и Xamarin.iOS 6 разработчики теперь имеют множество возможностей для создания приложений iOS, включая те, которые предназначены для iPhone 5. В этом документе перечислены некоторые из более интересных новых функций, доступных и ссылок на статьи для каждого раздела. Кроме того, он касается нескольких изменений, которые будут важны, как разработчики переходят на iOS 6 и новое разрешение iPhone 5.
Общие сведения о представлениях коллекции
Представления коллекции позволяют отображать содержимое с помощью произвольных макетов. Они позволяют легко создавать макеты, такие как сетка из поля, а также поддерживают пользовательские макеты. Дополнительные сведения см. в руководстве по представлению коллекций .
Введение в PassKit
Платформа PassKit позволяет приложениям взаимодействовать с цифровыми проходами, управляемыми в приложении Passbook. Дополнительные сведения см. в руководстве по пакету pass kit.
Общие сведения о EventKit
Платформа EventKit предоставляет способ доступа к данным календарей, событий календаря и напоминаний, которые хранятся в базе данных календаря. Доступ к календарям и событиям календаря доступен с iOS 4, но iOS 6 теперь предоставляет доступ к данным напоминаний. Дополнительные сведения см. в руководстве по I ntroduction to EventKit .
Общие сведения о социальной платформе
Social Framework предоставляет единый API для взаимодействия с социальными сетями, включая Twitter и Facebook, а также SinaWeibo для пользователей в Китае. Дополнительные сведения см. в руководстве по социальной платформе .
Изменения в StoreKit
Apple представила две новые функции в Store Kit: приобретение и скачивание содержимого iTunes или App Store из приложения и размещение файлов содержимого для покупок в приложении!. Дополнительные сведения см. в руководстве по изменению комплекта для магазина.
Другие изменения
ViewWillUnload и ViewDidUnload устарели
Методы ViewWillUnload и ViewDidUnload методы UIViewController больше не вызываются в iOS 6. В предыдущих версиях iOS эти методы могут использоваться приложениями для сохранения состояния перед выгрузкой представления и кодом очистки соответственно.
Например, Visual Studio для Mac создаст метод с именем ReleaseDesignerOutletsниже, который затем будет вызываться изViewDidUnload:
void ReleaseDesignerOutlets ()
{
if (myOutlet != null) {
myOutlet.Dispose ();
myOutlet = null;
}
}
Однако в iOS 6 больше не требуется вызывать ReleaseDesignerOutlets.
Для кода очистки следует использовать DidReceiveMemoryWarningприложения iOS 6. Однако код, который вызывает Dispose , следует использовать экономно и только для объектов с интенсивным объемом памяти, как показано ниже:
if (myImageView != null){
if (myImageView.Superview == null){
myImageView.Dispose();
myImageView = null;
}
}
Опять же, вызов Dispose , как описано выше, редко требуется. Как правило, большинство приложений должны выполняться для удаления обработчиков событий.
В случае сохранения состояния приложения могут выполнять это ViewWillDisappear и ViewDidDisappear вместо ViewWillUnloadнего.
Разрешение iPhone 5
Устройства iPhone 5 имеют разрешение 640x1136. Приложения, предназначенные для предыдущих версий iOS, будут отображаться в почтовом ящике при запуске на iPhone 5, как показано ниже:
Чтобы приложение отображалось в полноэкранном режиме на iPhone 5, просто добавьте изображение Default-568h@2x.png с разрешением 640x1136. На следующем снимку экрана показана работа приложения после включения этого образа:
Подклассирование UINavigationBar
В iOS 6 UINavigationBar можно подклассировать. Это позволяет дополнительно контролировать внешний вид и чувствовать себя UINavigationBar. Например, приложения могут подкласса добавлять подвиды, анимировать эти представления и изменять границы объекта UINavigationBar.
В приведенном ниже коде показан пример подкласса UINavigationBar , который добавляет UIImageView:
public class CustomNavBar : UINavigationBar
{
UIImageView iv;
public CustomNavBar (IntPtr h) : base(h)
{
iv = new UIImageView (UIImage.FromFile ("monkey.png"));
iv.Frame = new CGRect (75, 0, 30, 39);
}
public override void Draw (RectangleF rect)
{
base.Draw (rect);
TintColor = UIColor.Purple;
AddSubview (iv);
}
}
Чтобы добавить подкласс UINavigationBar в объект UINavigationController, используйте UINavigationController конструктор, который принимает тип UINavigationBar и UIToolbar, как показано ниже:
navController = new UINavigationController (typeof(CustomNavBar), typeof(UIToolbar));
Использование этого UINavigationBar подкласса приводит к отображению представления изображения, как показано на следующем снимке экрана:
Ориентация интерфейса
До приложений iOS 6 можно переопределить ShouldAutorotateToInterfaceOrientation, возвращая значение true для любой ориентации, поддерживаемой определенным контроллером. Например, следующий код будет использоваться для поддержки только портрета:
public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
{
return (toInterfaceOrientation == UIInterfaceOrientation.Portrait);
}
В iOS 6 ShouldAutorotateToInterfaceOrientation не рекомендуется.
Вместо этого приложения могут переопределить GetSupportedInterfaceOrientations контроллер корневого представления, как показано ниже:
public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations ()
{
return UIInterfaceOrientationMask.Portrait;
}
На iPad эта ориентация по умолчанию используется для всех четырех ориентаций, если GetSupportedInterfaceOrientation она не реализована. На iPhone и iPod Touch по умолчанию используется все ориентации, кроме PortraitUpsideDown.



