0

ストーリーボードを使用して、多くの子アイテムを持つUIViewを含むを作成しています。UIScrollViewこれらの子項目は、UIImageViewの背景イメージとして使用している 、プログラムで入力する一連の 、および呼び出されたライブラリ クラスのセットから取得したデータを入力する一連の でUIScrollView構成されます。ユーザーが複数のビューを表示せずにすべての情報をスクロールできるように、これらすべてを自分の中に入れたいと思います。ここで多くの投稿を閲覧し、多くの提案を使用しましたが、ビューをスクロールして、提示しようとしているすべてのデータをユーザーが表示できるようにすることができませんでした。UILabelsUITableViewsUIScrollView

これは、ストーリーボードのスクリーン ショットに続いて、私の属性インスペクタのショットです。UIScrollView

ここに画像の説明を入力

ここに画像の説明を入力

.h および .m ファイルも提供します。

weatherController.h

#import <UIKit/UIKit.h>
#import "WeatherParser.h"
#import "WeatherLocation.h"
#import "WeatherImg.h"
#import "WeatherWind.h"
#import "ForcastDay.h"
#import "ForecastItem.h"
#import "Condition.h"
#import "Atmo.h"
#import "Astro.h"
@class WeatherParser;
@class WeatherParserDelegate;
@class WeatherLocation;
@class WeatherImg;
@class WeatherWind;
@class ForcastDay;
@class ForecastItem;
@class Condition;
@class Atmo;
@class Astro;

@interface weatherController : UIViewController <UITableViewDataSource,UITableViewDelegate,WeatherParserDelegate>{
    WeatherParser * _rssParser;
    bool loadingEvents;
}

@property (nonatomic, retain) WeatherParser * rssParser;
@property bool loadingEvents;

@property (retain, nonatomic) IBOutlet UIScrollView *scrollView;
@property (weak, nonatomic) IBOutlet UILabel *cityLabel;
@property (weak, nonatomic) IBOutlet UILabel *state_countryLabel;
@property (weak, nonatomic) IBOutlet UILabel *currHighLabel;
@property (weak, nonatomic) IBOutlet UILabel *currLowLabel;
@property (weak, nonatomic) IBOutlet UILabel *currTempLabel;
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@property (weak, nonatomic) IBOutlet UIImageView *logoImageView;
@property (weak, nonatomic) IBOutlet UILabel *logoLabel;
@property (weak, nonatomic) IBOutlet UITableView *forecastTableView;
@property (weak, nonatomic) IBOutlet UITableView *atmoTableView;
@property (weak, nonatomic) IBOutlet UITableView *windTableView;
@property (weak, nonatomic) IBOutlet UITableView *astroTableView;
@property (weak, nonatomic) IBOutlet UIBarButtonItem *sidebarButton;

@property (nonatomic, retain) NSMutableArray *forecastDays;
@property bool logoSet;

@end

これが私の weatherController.m ファイルです。viewDidLoadmy に関するコードを含む唯一のメソッドであるメソッドのみを追加しUIScrollViewます。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    _scrollView.delegate = self;    

//    self.scrollView.frame = CGRectMake(0, 0, 320.0f, 480.0f);
    self.scrollView.contentSize =CGSizeMake(320.0F, 480.0F);  //(320, 1210)];
    [_scrollView setScrollEnabled:YES];
}

私が間違っていることや行方不明になっていることについて、何か助けていただければ幸いです。私が次のように設定したframe場合contentSize

self.scrollView.frame = CGRectMake(0, 0, 320.0f, 480.0f);
self.scrollView.contentSize =CGSizeMake(320.0F, 1210.0F);

スクロールすることはできますがUIScrollView、背景の画像はフレームのサイズのみであり、残りの子コンテンツUIScrollViewは表示されません。スクロールできるように見えますが、 内で表示可能なコンテンツしか表示できませんframe

繰り返しますが、提供されたヘルプに事前に感謝します。

4

1 に答える 1

1

コメントが示唆しているように、UITableView を UIScrollView 内に配置するのは一般的に悪い考えです。ただし、それが許容できる解決策である時間と場所があるため、私はあなたにあまり厳しくしません. 今がその時かどうかは、あなたに判断してもらいます。

私がまだ完全に理解していない理由により、UIScrollView をスクロールさせたいのと同じ大きさの単一の UIView でコンテンツ全体を囲むと、UIScrollView は期待どおりに動作します。

于 2013-10-19T04:07:47.433 に答える