前提・実現したいこと
StoryBoardを使わずに画像を拡大・縮小したいです。
UIImageViewで画像を表示することはできたのですが、
その画像をピンチイン・アウトしたいのです。
但し、拡大・縮小は、
UIImageViewで作成したframe内でやりたいのですが
なかなかうまくいかずにハマっています。
以下を実現したいです。
・作成したframe内で拡大・縮小をしたい
・拡大した時、frameの外にはみ出た所も移動させて表示できるようにしたい
検索して、UIScrollViewを使えば良いのかと思って
実装してみたのですが、これもうまくいかず・・・
C、C++,C#経験がありますが、
swiftは、始めて二ヶ月ほどです。
ご教授のほど、よろしくお願いします。
該当のソースコード
class CommentaryView: UIViewController , UITextViewDelegate{ // 解説図 var m_CommentaryImage:UIImageView = UIImageView() var scrollView: UIScrollView = UIScrollView() override func viewDidLoad() { super.viewDidLoad() scrollView.delegate = self scrollView.minimumZoomScale = 0.0 scrollView.maximumZoomScale = 2.0 ------省略------- CreateView() } /* 画面を作る 戻り値:なし */ func CreateView() // 背景 ------省略------- // 解説図があるかどうか。true:ある、false:ない var bCommImage = false if(!m_dicCommentary[m_strIndex]!.strCommImage.isEmpty){ bCommImage = true } // 目次IndexLabelを作る ------省略------- // 難易度ImageViewを作る ------省略------- // 解説図ImageViewを作る if(bCommImage){ ------問題のソース ここから------- m_CommentaryImage = UIImageView(frame: CGRect(x: 10, y: displayMaxY+10, width: self.view.frame.width-20, height: 200)) m_CommentaryImage.image = UIImage(named: m_dicCommentary[m_strIndex]!.strCommImage) m_CommentaryImage.layer.zPosition = 0 m_CommentaryImage.backgroundColor = UIColor.white //self.view.addSubview(m_CommentaryImage) m_CommentaryImage.contentMode = .scaleAspectFit scrollView.addSubview(m_CommentaryImage) self.view.addSubview(scrollView) // 目次IndexLabel+難易度ImageView+解説図ImageViewの最大Y座標を更新 displayMaxY = m_CommentaryImage.frame.maxY displayHeight = displayHeight - m_CommentaryImage.frame.height - 10 ------問題のソース ここまで------- // 目次IndexLabel+難易度ImageView+解説図ImageViewの最大Y座標を更新 displayMaxY = m_CommentaryImage.frame.maxY displayHeight = displayHeight - m_CommentaryImage.frame.height - 10 } ------省略------- } override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() ------省略------- } func viewForZooming(in scrollView: UIScrollView) -> UIView? { ------省略------- } func scrollViewDidZoom(_ scrollView: UIScrollView) { ------省略------- } ```ここに言語名を入力 ### 試したこと 上記の内容で実行した結果、下記のようになりました。 ![イメージ説明](37179d701119c7472cb2c18fbe83a209.png) 目的の(拡大縮小したい)画像が表示されるはずなのですが表示してくれません。 scrollViewのframeをImageViewのCGRectの設定値にしてみましたが、 表示されませんでした。 ### 補足情報(FW/ツールのバージョンなど) XCode Version 10.0 MacOS 10.13.6
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。