UIScroll View未显示UIImageView

时间:2013-04-09 16:53:36

标签: uiscrollview uiimageview

好的,所以我一直在研究这个bug 2个小时,并查看了我能找到的所有链接也有我的问题。我试图在UIScrollView中放置一个UIImageView然后在屏幕上显示滚动视图。当我尝试这样做时,不会显示任何内容。所以首先我认为imageview没有要显示的图像,所以我通过将imageView添加到屏幕来测试这个

[self.view addSubview:mapDisplay];

并且显示了图像,但是当我将其放置在滚动视图中时,我仍然无法显示图像。

任何帮助都会被批评。

.h文件

#import <UIKit/UIKit.h>
#import "FloorsContainer.h"
@interface FloorMapViewController : UIViewController {
    UIImage* mapToShow;
    IBOutlet UIImageView *mapDisplay;
    IBOutlet UIScrollView *mapScrollView;
}
@property(nonatomic, retain) UIImageView *mapDisplay;
@property(nonatomic, retain) UIScrollView *mapScrollView;
-(void)setMapImage:(UIImage *) newMap;
@end

.m文件

@interface FloorMapViewController ()
@end
@implementation FloorMapViewController
@synthesize mapDisplay, mapScrollView;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initializatio
    }
    return self;
}
-(void)setMapImage:(UIImage *) newMap {
    if (newMap != NULL) {
        mapToShow = newMap;
    }
}           
- (void)viewDidLoad {
    [super viewDidLoad];
    [super viewDidLoad];
    if (mapToShow != NULL) {
      //declare both scrollview and image view
        mapDisplay =[[UIImageView alloc] init];
        mapScrollView = [[UIScrollView alloc] init];
        //set size of both
        mapDisplay.frame = CGRectMake(0, 0, 320, 480);
        [mapScrollView setContentSize:CGSizeMake(mapDisplay.frame.size.width, mapDisplay.frame.size.height)];
        mapScrollView.contentMode = (UIViewContentModeScaleAspectFit);
        mapScrollView.clipsToBounds = YES;
        //set the picture
        [mapDisplay setImage:[UIImage imageNamed:@"Sci.jpg"]];
        //set zoom
        [mapScrollView setMinimumZoomScale:1.0];
        [mapScrollView setMaximumZoomScale:2.0];
        //combine the two
        [mapScrollView addSubview:mapDisplay];
        //set scroll pane to main window
        [self.view addSubview:mapScrollView];
    }
}

确实输入了if语句。我相信这与我如何连接图像视图和滚动视图有关。 (我仍然是iOS开发人员的新手,但我是一个快速的研究)。任何帮助将非常感激。

1 个答案:

答案 0 :(得分:0)

如果您认为它与您如何连接它有关,则问题可能位于您的storyboard或nib文件中。确保每个物业只有一个插座,并且不要使插座过载。尝试删除它们并再次将插座重新连接到各个属性。

@properties也应该是

@property(nonatomic, retain) IBOutlet UIImageView *mapDisplay;
@property(nonatomic, retain) IBOutlet UIScrollView *mapScrollView;