需要使用Facebook和Twitter等Profile ViewController功能

时间:2014-04-22 15:03:18

标签: ios objective-c uiviewcontroller

如果我们点击任何个人资料图片,它将导致他们的个人资料视图。即使在相同的视图中,如果用户点击其他人的个人资料Pic,如在“关注者”列表中,那么它应该导致他们的个人资料View.But View控制器是相同的。只有与FacebookTwitter相同的功能。我需要实现这个功能。但我不知道如何实现这一过程。为多个用户使用相同的配置文件UIViewController

或者还有其他方法可以实现这个功能吗?请指导我如何实现这个过程。

例如: VC1 is myprofileVCVC2 is friendsProfileVC。我在myprofileVC(VC1)中选择了朋友的Pic,在friendsProfileVC(VC2)中选择了loadingData。然后,如果我在another person's ProfilePic中选择friendsProfileVC(VC2)表示它应该在哪里领导?或者该怎么办?如何加载新选择的人的ProfileView?在同一个(VC2)或?在这个地方只是我迷茫!!

参考图片:http://i.stack.imgur.com/3a8WQ.png

2 个答案:

答案 0 :(得分:3)

假设我们有2个viewControllers,第一个是类FriendViewController,另一个是类UserViewController

第1步

我们在UserViewController。当您点击图像时     指定用户使用用户拥有的ID检查您的ID。

第2步

根据用户ID,如果用户ID与您的用户ID相同,则您点按了图片,因此您无需转到其他viewController,因此只需重新加载数据即可进行更新。

第3步

否则用户ID不同,我们正在与另一个用户打交道,所以我们要去另一个FriendViewController。这样做的例子:

FriendViewController *fc  = [[FriendViewController alloc]init];
[self.storyboard instantiateViewControllerWithIdentifier:@"friendvcID"];
fc.stuff = stuff;
[self.navigationController pushViewController:fc animated:YES];

第4步

现在我们在FriendViewController,如果依赖于我们点击的图像,如果我们将它与我们的id相同,我们将导航到我们的个人资料,所以我们要做的是检查我们是否已将它添加到我们的navigationStack中,如果我们不这样做,我们需要推动。

//Check if we have userProfile on navigationStack
    if ([self hasUserProfileOnStack]!=-1)
    {
        //We have it on specific index, so we are popping to that viewController, which is UserViewController
        [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:[self hasUserProfileOnStack]] animated:YES];
    }
    else
    {
        //We dont have it in navigationStack so we are pushing it
        UserViewController *fc  = [[UserViewController alloc]init];
        [self.storyboard instantiateViewControllerWithIdentifier:@"uservcID"];
        fc.stuff = stuff;
        [self.navigationController pushViewController:fc animated:YES];

    }

//Method which helps us to find if we have it to navigationStack by returning the index on navigationControllers
-(NSInteger)hasUserProfileOnStack
{
    for (NSInteger i=0; i<[self.navigationController.viewControllers count]; i++)
    {
        if ([[self.navigationController.viewControllers objectAtIndex:i] isKindOfClass:[UserViewController class]]) {
            return i;
        }
    }
    return -1;

}

第5步

如果该ID与我们的ID不同,那么我们只需执行第3步

这是我现在可以给你的信息,用文字解释有点困难,但这就是我在这里解释的方法。希望它有所帮助

答案 1 :(得分:1)

您应该从头开始学习iOS编程,并开始逐步开发应用程序。有很多网站和书籍供您学习。我建议Ray Wenderlich,因为它有很棒的iOS教程。

参考你的问题,我正在开发一个社交iOS应用程序,现在通过以下方式实现:

  1. 为每个用户使用ID
  2. 我通过发送该ID
  3. 在特定服务器上下载数据
  4. 将它们传递给ProfileViewController属性 在.h文件中声明
  5. 然后我将这些属性加载到我想要的地方
  6. 无论如何,我觉得你实现这些事情还为时尚早,你必须一步一步地学习iOS,练习将为你提供实现伟大事业的经验。