Во-первых, классом, который вы можете использовать для управления отправкой URL-адресов в вашем приложении, является TTURLMap. Вы можете увидеть, как он уже настроен, в файле AppDelegate.m TTNavigatorDemo.
Хитрость в том, что вы можете использовать подстановочные знаки при настройке TTURLMap. Установив подстановочный знак "*" для класса контроллера, вы, по сути, указываете своей TTURLMap отправлять все несопоставленные запросы в новый экземпляр любого класса контроллера, который вы передаете (в вашем случае TTWebController)
TTURLMap* map = navigator.URLMap;
[map from:@"*" toViewController:[TTWebController class]];
[map from:@"tt://someController" toViewController:[SomeController class]];
...
if (![navigator restoreViewControllers]) {
[navigator openURL:@"tt://someController" animated:NO];
}
Я только что проверил TTNavigatorDemo, и похоже, что это на самом деле уже настроено:
// Any URL that doesn't match will fall back on this one, and open in the web browser
[map from:@"*" toViewController:[TTWebController class]];
Таким образом, вы должны иметь возможность посещать произвольные URL-адреса уже с помощью контроллера веб-представления, добавляя строку в источник данных, например, так. Нажатие на это должно выдвинуть новый TTWebController с Google:
[TTTableTextItem itemWithText:@"Google" URL:@"http://google.com"],
Дальнейшее чтение: NavigatorDemo делает действительно классные вещи. Кто-то из группы Google Three20 опубликовал свои заметки, когда распаковывал все, что происходит в настройке TTURLMap .