1

I'm using Xcode 4.6 to build an iOS 6.x tabbar application and using Storyboard's. Inside each tabbed view, there is no problem adding a UIScrollView and interacting with any of the elements that are placed therein.

However... when I tap a button to transition to a new view in my storyboard using a Modal Segue, the scroll view doesn't work in the modal view.

Example:

Both TestViewController.h and TRViewController.h contain code similar to this:

@property (strong, nonatomic) IBOutlet UIScrollView *scroller;

In the viewDidLoad method on in both TestViewController.m and TRViewController.m:

[_scroller setScrollEnabled:YES];
[_scroller setContentSize:CGSizeMake(320, 1000)];

Then in IB, the outlet is hooked up properly to the view:

enter image description here

So my code is replicated / the same across IB, .h, and .m for each of the views. Works in one area, but not the other. Beyond that, the only other block of what I think might be relevant to my problem might be from the segue:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"trSegue"]) {        
    TRViewController *_trVC = segue.destinationViewController;
    _trVC.delegate = self;
    }
}

Am I just missing something so totally obvious? I'm thinking it's going to be a palm to forward moment once I see the solution...

Thoughts / comments?

Thanks in advance! - Drew

4

2 に答える 2

1

私はそれを考え出した。UIScrollView を別の空の UIView に配置する必要があります。インターフェイス ビルダーでは、階層は次のようになります。

ここに画像の説明を入力

その理由は、モーダル セグエがコンテンツを表示する方法によるものです。プッシュ セグエを実行すると、実際には ViewController がナビゲーション スタックの最上層にプッシュされますが、モーダル セグエでは、画面に表示される内容が変更されます。これによりアップルがアプリを拒否するかどうかはわかりませんが、機能します。

于 2013-07-15T20:41:02.947 に答える
0

ええと...セグエをモーダルからプッシュに変更するだけで...追加の微調整/調整なしでうまく機能することがわかりました。これ以上いじくりまわすのではなく、この道を進むだけだと思います。

そうは言っても、これを行う方法を見つけたいと思っています(可能であれば)。

于 2013-02-22T02:12:59.353 に答える