SplitViewController представил обходной путь жестов - лучшее решение?
Я работаю над странной установкой, где моя основная машина разработки работает под управлением Snow Leopard (и, следовательно, у меня только iOS 5.0 SDK), а также у ноутбука с Lion (и 5.1SDK). Хотелось бы, чтобы у меня было простое решение для разработки 5.1 на машине Snow Leopard, но это побочная проблема.
Я изучаю UISplitViewControllers и хотел сделать жест пальцем, чтобы изменить то, что отображается в контроллере подробного представления. Реализовано это, но в 5.1, есть свойство с именем presentWithGesture, которое показывает masterViewController, когда вы проводите в этом направлении.
You can disable it, but my 5.0 machine gives me an error saying (correct for 5.0) that UISplitViewController doesn't have a property named presentedWithGesture.
Sigh... so I thought I'd test for it, but the following:
if (self.splitViewController.presentedViewController) {
self.splitViewController.presentsWithGesture = NO;
}
... still gives me that error. Is there a clever way to get around this? Some voice in the back of my head says "categories," but I'm unsure where to start.
Заранее спасибо за помощь.
2 ответа
Это способ проверить, еслиUISplitViewController
имеет presentsWithGestureProperty
:
if ([m_splitVC respondsToSelector:@selector(setPresentsWithGesture:)])
[m_splitVC setPresentsWithGesture:NO];
В iOS 5.1 он будет устанавливать свойство, а в предыдущих версиях он не будет вводить оператор if.
Вы должны спросить splitViewController, может ли он получить сообщение presentWithGesture.
if ([splitViewController respondsToSelector:@selector(presentsWithGesture:)]) {
//edited away from dot syntax
[splitViewController setPresentsWithGesture:NO];
}
Помните, что это блок кода для работы с пользователями, которые могут не использовать ту версию iOS, с которой вы ссылаетесь. Проблема, с которой вы столкнулись, заключается в том, что вы пишете код для одного и того же проекта на двух разных устройствах, каждое из которых имеет свой базовый SDK.
Изменить: см. Здесь Можно ли получить iOS 5.1 SDK для Xcode 4.2 на Snow Leopard?