0

请参考我的这篇文章-如何更改 TTNavigator(用于网页 url)底栏颜色?

现在我必须禁用同一控制器的“在 Safari 中打开”选项。请给我一个方法。我还没有找到使用样式来做到这一点。我知道这是可能的,因为我在少数应用程序上看到了该选项。

请帮忙...

4

1 回答 1

2

默认情况下,TTNavigator 会将它不匹配的所有 URL 转发到 TTWebController。

因此,如果您想更改 Web 视图,则必须将 TTWebController 子类化为您自己的类,并在应用程序委托中添加映射:

要删除在 safar 中打开操作按钮,请尝试将此函数添加到您的子类自定义 TTWebController:

///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)loadView {
  [super loadView];

   TT_RELEASE_SAFELY(_toolbar);

   _toolbar = [[UIToolbar alloc] initWithFrame:
              CGRectMake(0, self.view.height - TTToolbarHeight(),
                         self.view.width, TTToolbarHeight())];
  _toolbar.autoresizingMask =
  UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth;
  _toolbar.tintColor = TTSTYLEVAR(toolbarTintColor);
  _toolbar.items = [NSArray arrayWithObjects:
                    _backButton,
                    space,
                    _forwardButton,
                    space,
                    _refreshButton,
                    nil];
  [self.view addSubview:_toolbar];

}

并在您的应用委托中包含包罗万象的映射规则:

    [map from:@"*" toViewController:[CustomWebController class]];
于 2011-10-19T12:57:19.887 回答