- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个抽认卡应用程序。我也成功地获得了应用程序,我可以在一系列照片中滑动(见下面的代码)。
import UIKit
class SecondViewController: UIViewController , UIGestureRecognizerDelegate {
@IBAction func home(_ sender: Any) {
performSegue(withIdentifier: "home", sender: self)
}
@IBOutlet weak var imgPhoto: UIImageView!
var imageList:[String] = ["alligator", "apple", "balance", "ball", "ballerina", "balloon", "bell", "belt", "black", "blanket", "blender", "blocks", "blond", "blood", "blow", "blue", "bowling", "bubble", "bully", "calendar", "castle", "cello", "clam", "clamp", "clap", "claw", "clean", "climb", "clip", "cloud", "cold", "colors", "crawl", "curlyhair", "dollar", "dolphin", "elephant", "elf", "eyelashes", "fall", "fishbowl", "flag", "flipflop", "float", "floor", "flower", "fluffy", "flute", "fly", "gasoline", "girl", "glacier", "glad", "glasses", "glide", "glitter", "globe", "glove", "glue", "goalie", "golf", "hula", "jellyfish", "ladder", "ladybug", "lake", "lamb", "lamp", "lark", "laughing", "lawnmower", "leaf", "leash", "left", "leg", "lemon", "leopard", "leprechaun", "letters", "licking", "lifesaver", "lifting", "lightbulb", "lightning", "lime", "lion", "lips", "list", "listen", "llama", "lock", "log", "look", "love", "lunch", "melt", "milk", "olive", "owl", "pail", "peel", "pillow", "pilot", "planet", "plank", "plant", "plate", "play", "plum", "plumber", "plus", "polarbear", "pool", "rollerskate", "ruler", "shelf", "silly", "sled", "sleep", "sleeves", "slice", "slide", "slime", "slip", "slow", "smile", "telephone", "television", "tulip", "umbrella", "valentine", "violin", "whale", "wheel", "xylophone", "yellow"]
let maxImages = 135
var imageIndex: NSInteger = 0
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
imgPhoto.isUserInteractionEnabled = true
let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(Swiped(gesture:)))
leftSwipe.cancelsTouchesInView = false
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(Swiped(gesture:)))
rightSwipe.cancelsTouchesInView = false
leftSwipe.direction = .left
rightSwipe.direction = .right
view.addGestureRecognizer(leftSwipe)
view.addGestureRecognizer(rightSwipe)
}
func Swiped(gesture: UIGestureRecognizer) {
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
switch swipeGesture.direction {
case UISwipeGestureRecognizerDirection.right :
print("User swiped right")
// decrease index first
imageIndex -= 1
// check if index is in range
if imageIndex < 0 {
imageIndex = maxImages
}
imgPhoto.image = UIImage(named: imageList[imageIndex])
case UISwipeGestureRecognizerDirection.left:
print("User swiped Left")
// increase index first
imageIndex += 1
// check if index is in range
if imageIndex > maxImages {
imageIndex = 0
}
imgPhoto.image = UIImage(named: imageList[imageIndex])
default:
break //stops the code/codes nothing.
}
}
但我需要添加一个设置页面,以便用户可以选择他们想要显示的词组,所以我尝试更改代码,以便将词分成组,并将这些组设置为“事件的” "以便用户可以在设置页面中操作它们(如果用户关闭某个词组,则该词组不再处于事件状态)。但是我无法让这个新代码顺利运行,它充满了错误。你们中的任何人都可以看到这个新代码有什么问题吗?到目前为止,我还没有制作设置页面,但是当我运行新代码时,我应该能够像我的原始代码一样滑动浏览所有图片,但是目前这是不可能的。任何帮助将非常感激。谢谢!
import UIKit
class SecondViewController: UIViewController , UIGestureRecognizerDelegate {
@IBAction func home(_ sender: Any) {
performSegue(withIdentifier: "home", sender: self)
}
@IBOutlet weak var imgPhoto: UIImageView!
struct List {
let words: [String]
var active: Bool
}
let list1 = List(words:["lake", "lamb", "lamp", "lark", "leaf", "leash", "left", "leg", "lime", "lion", "lips", "list", "lock", "log", "look", "love", "lunch"], active: true)
let list2 = List(words: ["ladder", "ladybug", "laughing", "lawnmower", "lemon", "leopard", "leprechaun", "letters", "licking", "lifesaver", "lifting", "lightbulb", "lightning", "listen", "llama"], active: true)
let list3 = List(words: ["alligator", "balance", "ballerina", "balloon", "bowling", "cello", "colors", "curlyhair", "dollar", "dolphin", "elephant", "eyelashes", "gasoline", "goalie", "hula", "jellyfish", "olive", "pillow", "pilot", "polarbear", "rollerskate", "ruler", "silly", "telephone", "television", "tulip", "umbrella", "valentine", "violin", "xylophone", "yellow"], active: true)
let list4 = List(words: ["apple", "ball", "bell", "bubble", "castle", "fall", "fishbowl", "girl", "owl", "pail", "peel", "pool", "smile", "whale", "wheel"], active: true)
let list5 = List(words: ["planet", "plank", "plant", "plate", "play", "plum", "plumber", "plus"], active: true)
let list6 = List(words: ["black", "blanket", "blender", "blocks", "blond", "blood", "blow", "blue"], active: true)
let list7 = List(words: ["flag", "flipflop", "float", "floor", "flower", "fluffy", "flute", "fly"], active: true)
let list8 = List(words: ["glacier", "glad", "glasses", "glide", "glitter", "globe", "glove", "glue"], active: true)
let list9 = List(words: ["clam", "clamp", "clap", "claw", "clean", "climb", "clip", "cloud"], active: true)
let list10 = List(words:["sled", "sleep", "sleeves", "slice", "slide", "slime", "slip", "slow"], active: true)
let list11 = List(words: ["belt", "cold", "dolphin", "elf", "golf", "melt", "milk", "shelf"], active: true)
var imageIndex: NSInteger = 0
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
imgPhoto.isUserInteractionEnabled = true
var wordLists = [list1, list2, list3, list4, list5, list6, list7, list8, list9, list10, list11]
var imageList: [String] {
let active = wordLists.reduce([]) { (result:[String], list:List) in
if list.active {
return result + list.words
} else {
return result
}
}
return active
}
let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(Swiped(gesture:)))
leftSwipe.cancelsTouchesInView = false
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(Swiped(gesture:)))
rightSwipe.cancelsTouchesInView = false
leftSwipe.direction = .left
rightSwipe.direction = .right
view.addGestureRecognizer(leftSwipe)
view.addGestureRecognizer(rightSwipe)
}
func Swiped(gesture: UIGestureRecognizer) {
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
switch swipeGesture.direction {
case UISwipeGestureRecognizerDirection.right :
print("User swiped right")
// decrease index first
imageIndex -= 1
// check if index is in range
if imageIndex < 0 {
imageIndex = imageList
}
imgPhoto.image = UIImage(named: imageList[imageIndex])
case UISwipeGestureRecognizerDirection.left:
print("User swiped Left")
// increase index first
imageIndex += 1
// check if index is in range
if imageIndex > imageList {
imageIndex = 0
}
imgPhoto.image = UIImage(named: imageList[imageIndex])
default:
break //stops the code/codes nothing.
}
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
最佳答案
你很亲近;需要进行一些修复:
将 imageList
计算变量移动到类级别,而不是在 viewDidLoad
内部。
imageIndex
变量可以是 Int
而不是 NSInteger
。这不是一个重大变化,但会让事情变得更容易,并且是更好的 Swift 风格。
您之前使用 maxImages
变量的地方,您可以将它们替换为 imageList.count
,这是数组中元素的总数。
这是经过编辑的最终代码。它编译;让我知道它是否有效!
class SecondViewController: UIViewController , UIGestureRecognizerDelegate {
@IBAction func home(_ sender: Any) {
performSegue(withIdentifier: "home", sender: self)
}
@IBOutlet weak var imgPhoto: UIImageView!
struct List {
let words: [String]
var active: Bool
}
let list1 = List(words:["lake", "lamb", "lamp", "lark", "leaf", "leash", "left", "leg", "lime", "lion", "lips", "list", "lock", "log", "look", "love", "lunch"], active: true)
let list2 = List(words: ["ladder", "ladybug", "laughing", "lawnmower", "lemon", "leopard", "leprechaun", "letters", "licking", "lifesaver", "lifting", "lightbulb", "lightning", "listen", "llama"], active: true)
let list3 = List(words: ["alligator", "balance", "ballerina", "balloon", "bowling", "cello", "colors", "curlyhair", "dollar", "dolphin", "elephant", "eyelashes", "gasoline", "goalie", "hula", "jellyfish", "olive", "pillow", "pilot", "polarbear", "rollerskate", "ruler", "silly", "telephone", "television", "tulip", "umbrella", "valentine", "violin", "xylophone", "yellow"], active: true)
let list4 = List(words: ["apple", "ball", "bell", "bubble", "castle", "fall", "fishbowl", "girl", "owl", "pail", "peel", "pool", "smile", "whale", "wheel"], active: true)
let list5 = List(words: ["planet", "plank", "plant", "plate", "play", "plum", "plumber", "plus"], active: true)
let list6 = List(words: ["black", "blanket", "blender", "blocks", "blond", "blood", "blow", "blue"], active: true)
let list7 = List(words: ["flag", "flipflop", "float", "floor", "flower", "fluffy", "flute", "fly"], active: true)
let list8 = List(words: ["glacier", "glad", "glasses", "glide", "glitter", "globe", "glove", "glue"], active: true)
let list9 = List(words: ["clam", "clamp", "clap", "claw", "clean", "climb", "clip", "cloud"], active: true)
let list10 = List(words:["sled", "sleep", "sleeves", "slice", "slide", "slime", "slip", "slow"], active: true)
let list11 = List(words: ["belt", "cold", "dolphin", "elf", "golf", "melt", "milk", "shelf"], active: true)
var imageIndex: Int = 0
var imageList: [String] {
let wordLists = [list1, list2, list3, list4, list5, list6, list7, list8, list9, list10, list11]
let active = wordLists.reduce([]) { (result:[String], list:List) in
if list.active {
return result + list.words
} else {
return result
}
}
return active
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
imgPhoto.isUserInteractionEnabled = true
let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(Swiped(gesture:)))
leftSwipe.cancelsTouchesInView = false
let rightSwipe = UISwipeGestureRecognizer(target: self, action: #selector(Swiped(gesture:)))
rightSwipe.cancelsTouchesInView = false
leftSwipe.direction = .left
rightSwipe.direction = .right
view.addGestureRecognizer(leftSwipe)
view.addGestureRecognizer(rightSwipe)
}
func Swiped(gesture: UIGestureRecognizer) {
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
switch swipeGesture.direction {
case UISwipeGestureRecognizerDirection.right :
print("User swiped right")
// decrease index first
imageIndex -= 1
// check if index is in range
if imageIndex < 0 {
imageIndex = imageList.count - 1
}
imgPhoto.image = UIImage(named: imageList[imageIndex])
case UISwipeGestureRecognizerDirection.left:
print("User swiped Left")
// increase index first
imageIndex += 1
// check if index is in range
if imageIndex > imageList.count - 1 {
imageIndex = 0
}
imgPhoto.image = UIImage(named: imageList[imageIndex])
default:
break //stops the code/codes nothing.
}
}
}
}
关于ios - 创建多个数组,这些数组将加起来成为一个最终数组。调试问题。 swift 和 Xcode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44991205/
这是一个复杂的查询,我希望用一条语句实现它,而不是必须在 PHP 中处理数组值。 要达到预期的输出: User Jobs Total John D. 5 $1245.67 Ma
SELECT B. * , SC.cate_name, ( CASE WHEN special_offer_type = 'Fixed Value' THEN B.price - special_o
关于将 booksleeve 与 protobuf-net 结合使用,我有一些相当基本的问题。现在我已经实现了一个单例类来管理连接,所以我多次重复使用与 recommended 相同的连接。 .现在我
我想要一个客户端加/减系统,用户可以单击加号,值会增加 1,减号,值会减少 1,该值永远不应该低于零,并且应该从 0 开始.有没有办法在 jquery 中简单地做到这一点?所有 jquery 插件都会
我正在使用加号和减号按钮更新我的产品数量,这很有效,但我的问题是因为我在一个容器中有多个产品,它正在更新所有产品的数量。这是代码:
我需要在大小相等的小整数数组上做大量简单的代数运算。这些操作仅包括三种:(i) 添加数组和 (ii) 按元素减去数组,以及 (iii) 比较一个数组中的所有元素是否不小于/大于另一个数组中的对应元素。
我对 javascript 很陌生,但我需要一种 JS 方式来在单击按钮时增加/减少输入字段中的值。我已成功将值设置为显示 0,但当我单击“添加”按钮时,它不会增加。 以下是 html 和 JS 代码
我可以在输入字段中添加/减去一个数字。 但是,我希望结果显示在中而不是在input中字段。 我尝试使用innerHTML自己完成它但无法让它发挥作用。 $(function() { $('.min
我的页面上有一个加号/减号 jquery 选择器。当页面加载或数字达到 1 时,我希望减号按钮变灰以模拟非事件状态。这是我的代码和 fiddle https://jsfiddle.net/pgxvhs
我如何加/减用户输入的十六进制数? 喜欢: basehex = input() sechex = input() sum = hex(basehex - sechex) print(sum) 我得到:
本文实例讲述了python简单实现矩阵的乘,加,转置和逆运算。分享给大家供大家参考,具体如下: 使用python完成矩阵的乘,加,转置和逆: ?
我输入的一些文本包括几个上下箭头(↑ 和 ↓),以及一个加号/减号 (±)。 这些特殊字符以 HTML ASCII 输入:↑ ↓ ±。在 POST 上,HTML 在保存到 MySQL 表之前使用 ht
我正在尝试配置 Live Gamer Portable 2 Plus 的输出引脚以降低帧速率。通过 GraphStudioNext,我可以通过捕获引脚访问配置并更改帧速率。 但是,当我通过 API 在
我正在尝试使用批处理文件创建任意时间。我试图从我的代码中减去设置值(例如1天,1个月和2000年),以显示系统时间减去前面所述的设置值。对于小时和分钟,我要减去10小时和10分钟(在代码中显示为不同的
我想建立一个 5 位向上/向下计数器。当我能让模拟工作时,我会更乐意购买零碎的东西来构建它。到目前为止,我使用的是 ATmega8,但坦率地说,只要组件相当便宜,任何解决方案都适合我。 我在网上找到了
使用 ng-repeat 时在数字输入字段上添加加/减切换的最佳方法是什么 我这样试过,但没用: - + vm.plus = f
我正在尝试弄清楚如何将 UNION 与相同的 JOIN 一起使用,而不是陷入 #2014 - 命令不同步。 我创建了四个简单的表格并为它们编写了简化的代码。主要想法是获得名字中带有“最佳”字样的每把剑
这个问题已经有答案了: Is floating point math broken? (33 个回答) 已关闭 9 年前。 我有一个简单的函数,应该生成 1000 个不同的元素: var start
我目前正在编写一个响应式设计,我正处于移动导航折叠的地步。 为此,我创建了两个 div 和一个 ul。 ul 包含我的 nav 元素,而 div 将显示移动设备和平板电脑下拉菜单的导航图像。 HTML
我为 woocommerce 单个产品页面创建了一个加/减数量按钮。创建了一个新的数量-input.php " min="" max="" name="" value="" ti
我是一名优秀的程序员,十分优秀!