【发布时间】:2019-02-20 21:14:36
【问题描述】:
我的应用程序显示了一个表格视图,该视图将在新的 ViewController 上打开并显示一张图片。我能够将一组图片发送到新控制器,但我不知道如何滑动以显示作为已发送数组一部分的第二张图片。我的代码如下:
var firstchoice: [UIImage] = [
UIImage(named: "Appa1")!,
UIImage(named: "Appa2")!
]
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
///Right way here
///You can easily manage using this
let Vc = self.storyboard?.instantiateViewController(withIdentifier: "imageViewController") as! imageViewController
///Here you have written four Animal names in Array
///So There is going to four case 0,1,2,3 and a default case
switch indexPath.row
{
case 0:
Vc.passedArray = firstchoice
self.navigationController?.pushViewController(Vc, animated: true)
break;
imageViewController 代码:
class imageViewController: UIViewController,GADBannerViewDelegate, UIGestureRecognizerDelegate, UIScrollViewDelegate {
var bannerView: GADBannerView!
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var myImageView: UIImageView!
@IBAction func pictureSwipe(sender: UISwipeGestureRecognizer) {
let pictureString:String = self.passedArray[index]
self.myImageView.image = passedArray.first
index = (index < passedArray.count-1) ? index+1 : 0
}
var passedImage : UIImage! = nil
var passedArray : [UIImage]!
var index = 0
override func viewDidLoad(){
super.viewDidLoad()
self.myImageView.image = passedArray.first
self.navigationController?.navigationBar.isHidden = false
scrollView.minimumZoomScale = 1.0
scrollView.maximumZoomScale = 5.0
【问题讨论】:
-
你可以使用 NSUserDefaults
-
只是为了评论你的代码整体,你真的可以整理你的 tableViewDidSelectRow 函数。将您的图像存储在一个数组中,并使用从 indexPath.row 获得的索引从数组中选择您想要的图像。至于如何添加多个功能,您可以通过创建图像数组来解决。 [[img1], [img2, img2a], [img3, img3a, img3b]], etc.. 你可以从 indexPath.row 中获取特定的数组并将其传递给下一个 VC。就像另一个答案说的那样,您可以将其设为 UIPageController,或者您可以创建一个集合视图来显示图像
标签: ios swift uitableview uiimageview