如何根据不同视图控制器中的按钮按钮更改文本视图内容。

时间:2013-05-20 18:03:06

标签: xcode uitextview uistoryboardsegue

我遇到了一个简单的问题,由于某些原因,这个问题完全让我感到困惑。

我有一个视图控制器(我将其称为信息页面),其中包含文本视图。文本视图以下列格式保存大量信息;

标题A

有关标题A的信息

标题B

有关标题B的信息

(依此类推)。

在此之前,每个标题都有viewcontrollers;每个都有一个按钮可以转到信息页面。

我的问题非常简单。当用户按下segue按钮以转移到Info页面时,如何编写解决方案,文本视图自动滚动到特定的Header信息。

例如,假设用户位于页眉D的视图控制器中。他或她单击按钮以转到“信息”页面。到达后,如何使文本视图自动滚动以显示标题D的信息。

如果我对我的问题不够清楚,我表示道歉。很显然,我已经设置了文本框和segues ......就在这个最后一组甚至是在花了一个时间寻找答案之后!即使只是指导我阅读一些我可能错过的主题也会很棒。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

这可能不是最干净的解决方案,但这应该有效:

这是第一个ViewController的按钮。只需遍历按钮,将整数从1设置为4,具体取决于您按下的按钮。

-(void)firstBtnTUI
{
    [[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"HEADER"];

    //...
}

这在推送视图控制器中的ViewDidLoad(或类似)

int headerNum = [[NSUserDefaults standardUserDefaults] integerForKey:@"HEADER"];
CGFloat offset;

if(headerNum == 1)
{
    offset = firstHeader.frame.origin.y;
}else if(headerNum == 2)
{
    offset = secondHeader.frame.origin.y;
}else if(headerNum == 3)
{
    offset = thirdHeader.frame.origin.y;
}else if(headerNum == 4)
{
    offset = fourthHeader.frame.origin.y;
}

[scrollview setContentOffset:offset animated:NO];