0

我正在尝试完成一项任务,但即使尝试了几天也没有成功。

我有一个标签栏,其中包含 3 个标签朋友、聊天、设置。

  • Friends 选项卡只是 uitableviewcontroller 的子类,当用户点击任何用户时,他将跳转到第二个选项卡,即聊天选项卡。

  • 第二个选项卡(聊天)包含一个 uinavigationscontroller。这个 uinavigationcontroller 它本身包含两个视图 1> 聊天界面,2> ActiveChats,它是 uitableviewcontroller 的子类,用于显示用户当前正在与之聊天的人员列表。

  • 我想要的是当用户在第一个标签上并选择她的任何朋友聊天时,她必须跳到第二个标签上并直接看到聊天界面才能与她的朋友聊天。问题是我必须为navigationcontoller设置一个根视图控制器,该控制器将被预初始化,但我希望每次用户选择她的朋友时都必须初始化聊天视图控制器,我还实现了一个方法initWithId,它必须接受一个选定的人识别并将味精传递给该特定人并保存发送和接收的消息。

  • 问题的第二部分,这个聊天界面是根视图控制器,但我还想要一个后退按钮,所以当用户点击它时,用户将看到 ActiveChat 视图。此功能类似于 WhatsApp、Viber 或 OneTeam 应用程序。

请帮助我,避免任何愚蠢的错误,我是新手。谢谢你。

4

1 回答 1

2

我理解您问题的第一部分,因为您想使用特定于用户的 details 初始化您的类的对象。您已经使流程变得非常复杂,如果它是基于导航的,对您来说会容易得多。现在在这里,根据您的要求,您必须在单击的每一行上初始化您的类,因此您必须使您的“聊天界面”作为 UINavigation 或 viewcontroller.view 的 rootview 的子视图,然后在 rootView 的 viewDidLoad 方法中,您可以每次都初始化“聊天界面”。

我可以从您的另一个问题中推断出,您希望后退按钮实际转到 UInavigationcontroller 中的下一页,这不实用且没有意义。只需将 nextview 推到 navigationController 上。

从我们的评论中,我看到了该网站,它不是一个后退按钮,它被定制为一个后退按钮。Apple 不允许这样的事情,你可能会冒险你的应用程序。无论如何你可以这样做:-

UIImage *image= [UIImage imageNamed:@"yourImage.png"]; //Here image shoulb be similar to backButton
UIButton *yourButton= [UIButton buttonWithType:UIButtonTypeCustom]; 
[yourButton setBackgroundImage:image forState:UIControlStateNormal]; 
yourButton.font = [UIFont boldSystemFontOfSize:10]; 
yourButton.frame = CGRectMake(0, 0, image.size.width, image.size.height); 
[yourButton addTarget:self action:@selector(yourTarget) forControlEvents:UIControlEventTouchUpInside];  self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:yourButton]; 
于 2012-05-15T12:57:39.553 回答