【问题标题】:iOS UIImageView doesn't show anything on iPadiOS UIImageView 在 iPad 上不显示任何内容
【发布时间】:2014-06-04 11:45:57
【问题描述】:

我有一个scrollViewController,在viewDidLoad中,我给它添加了一个UIImageView:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.scrollView addSubview:self.imageView];
}

然后我设置我的图像:

- (void)setImage:(UIImage *)image
{
    self.scrollView.zoomScale = 1.0;
    self.imageView.image = image;
    self.imageView.frame = CGRectMake(0,0,image.size.width,image.size.height);
    self.scrollView.contentSize = self.image ? self.image.size : CGSizeZero;
}

在 iPhone 上,这可以正常工作,但在 iPad(SplitViewController 详细信息)上,它不显示任何内容。 我认为问题是,在 iPhone 上 ViewDidLoad 在已经设置图像时被调用,在 iPad 上,当应用程序启动时,细节总是在屏幕上。

我尝试将 addSubview 放到 setImage 中,这行得通,但是当用户单击另一个项目时,两个 imageViewController 相互重叠。

谁能帮帮我?谢谢! :-)

【问题讨论】:

  • 您的假设似乎是正确的。为什么不使用 interfaceBuilder 将一个 UIImageView 添加到您的 View 中?
  • 我按照教程学习Objective C,他们以编程方式添加视图以显示添加视图的不同方法。但是,我现在尝试了您的提示,但问题仍然存在:(
  • 好的,我会在答案中解释它。

标签: ios iphone objective-c ipad uiimageview


【解决方案1】:

在添加第二个 imageViewController 之前,您应该删除第一个 imageViewController

试试这个:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//_imageView variable is created by outlet, or you can do it by programmatically
_imageView.image = [UIImage imageNamed:@"1"];
}

- (void) setNewImage
{
[_imageView removeFromSuperview];
_imageView.image = [UIImage imageNamed:@"2"];
}

【讨论】:

    【解决方案2】:

    基础知识:

    • viewDidLoad 仅在控制器加载到内存后调用。因此,在您的 SplitViewController 中,viewDidLoad 方法会在启动应用后立即调用。

    我的建议:

    从 InterfaceBuilder 添加UIImageView 并使用IBOutlet 将其连接到您的控制器。这是达到目标的最简单方法。我假设您使用的是故事板?!

    右键单击将插座拖到您的标题:

    输入您的属性的名称并点击连接

    这样您就可以在您的实现中访问您的UIImageView,一切顺利。无需以编程方式添加。

    有关更多信息,请查看本教程:http://klanguedoc.hubpages.com/hub/IOS-5-A-Beginners-Guide-to-Storyboard-Connection

    【讨论】:

    • 我完全按照您的指示进行操作,并没有解决实际问题,但是这样更容易,谢谢!
    猜你喜欢
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    相关资源
    最近更新 更多