相关疑难解决方法(0)

在iOS 6上使用Auto Layout在ScrollView中嵌入ImageView

我正在尝试使用具有自动布局的新iOS 6 SDK制作非常简单的元素.我有一个ImageView并将其嵌入ScrollView中.(一切都使用Interface Builder构建)..png文件已设置,imageView模式设置为"左上角".

执行:

#import "ImaginariumViewController.h"

@interface ImaginariumViewController ()
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@end

@implementation ImaginariumViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.scrollView.contentSize = self.imageView.image.size;
    self.imageView.frame =
    CGRectMake(0, 0, self.imageView.image.size.width, self.imageView.image.size.height);
}

@end
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,图像不会滚动.关闭自动布局(使用支柱和弹簧)完成所有操作后,我正在进行滚动操作.我猜问题是限制.请问有人帮帮我吗?

objective-c uiscrollview uiimageview autolayout ios6

20
推荐指数
2
解决办法
1万
查看次数

是否可以在UIScrollView中放大和缩小UIImageView,但坚持使用自动布局?

长话短说,我正在尝试构建类似于Photos.app的功能.

我有一个UIScrollView,里面有一个UIImageView,它在Storyboard中设置.缩放工作,但我无法保持中心.在我所有基于框架的滚动视图实现中,我将它集中在如下,它可以很好地工作:

- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
    CGRect newImageViewFrame = self.imageView.frame;

    // Center horizontally
    if (newImageViewFrame.size.width < CGRectGetWidth(scrollView.bounds)) {
        newImageViewFrame.origin.x = (CGRectGetWidth(scrollView.bounds) - CGRectGetWidth(self.imageView.frame)) / 2;
    }
    else {
        newImageViewFrame.origin.x = 0;
    }

    // Center vertically
    if (newImageViewFrame.size.height < CGRectGetHeight(scrollView.bounds)) {
        newImageViewFrame.origin.y = (CGRectGetHeight(scrollView.bounds) - CGRectGetHeight(self.imageView.frame)) / 2;
    }
    else {
        newImageViewFrame.origin.y = 0;
    }

    self.imageView.frame = newImageViewFrame;
}
Run Code Online (Sandbox Code Playgroud)

但是使用自动布局它根本就没有.

我对UIScrollView或UIImageView没有任何限制,因为我不知道它们应该是什么.我想我应该将UIScrollView粘贴到四个角落,但是对于UIImageView我不完全确定,因为缩放改变了它的框架.

这是一个示例项目:http://cl.ly/21371H3q381N

如何使用自动布局进行缩放工作?

objective-c uiscrollview uiimageview ios autolayout

8
推荐指数
1
解决办法
1101
查看次数

swift-不能使用AutoLayout在UIScrollView中居中UIImageView

找遍了对多篇UIScrollViewUIImageView中,但都没有AutoLayout信息.我所做的是:地方UIScrollViewUIViewController与约束前10名,领先的10,底部50,落后10; 放置UIImageViewUIScrollView约束前面0,前面0,下面0,尾随0.我想要的很简单:让我的UIImageView适合我的UIScrollView应用程序第一次加载时,让我的UIImageView水平和垂直居中.现在我可以看到图像并恰好适合屏幕,但图像位于顶部UIScrollView.(注意:在这种情况下,我的图像宽度在缩放到最小值后zoomScale等于宽度UIScrollView,我的图像高度在缩放到最小值zoomScale小于宽度之后UIScrollView.)我真的无法将我移动UIImageViewUIScrollView垂直中心,无法找到我发生错误的地方.非常感谢.

import UIKit
class ViewController: UIViewController, UIScrollViewDelegate {
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can …
Run Code Online (Sandbox Code Playgroud)

uiscrollview uiimageview ios autolayout swift

1
推荐指数
1
解决办法
6451
查看次数

标签 统计

autolayout ×3

uiimageview ×3

uiscrollview ×3

ios ×2

objective-c ×2

ios6 ×1

swift ×1