ImageView无法在UIScrollView中显示(目标C)

时间:2016-05-30 10:46:30

标签: ios objective-c uiscrollview uiimageview

我目前正在尝试将图片放入UIScrollView中。 我检查了很多答案,但stackoverflow中的所有主题都不适用于我的代码。我想我只是忘记了其中的一个细节,但无法弄明白。

所以,我在ViewController.m中有这段代码:

- (void)initTransportData
{
    _transportsData = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 654, 414, 82)];
    CGRect viewSize = _transportsData.bounds;
    UIImageView *imgView = [[UIImageView alloc] initWithFrame:viewSize];
    [imgView setImage:[UIImage imageNamed:@"image.png"]];
    [_transportsData addSubview:imgView];

}

我的_transportData在我的ViewController.h中定义如下:

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

当我测试它时,scrollView显示黑色(我将它设置在我的main.storyboard中)。

我的scrollView上面还有一个MapView(不知道它是否有助于理解)。

PS:我在viewDidLoad函数中的[super viewDidLoad]下调用我的intTransportData函数。

有谁知道出了什么问题? 感谢

1 个答案:

答案 0 :(得分:0)

您设置了(0, 654, 414, 82)这样的框架,这意味着您的y位置是滚动视图的654。然后它低于屏幕高度。

所以,正确设置框架。

您需要将该滚动视图添加到主视图(self.view)。

如果您已经给出了插座,则无需再次设置框架。

您应该使用autolayout轻松管理这些内容。

你的场景应该是,UIScrollview - UIView - UIImageView,你需要为每个视图设置适当的约束。如果你不知道自动布局,那么在google上搜索教程并首先学习它。

希望这会有所帮助:)