我已經實作了一個 Shuffle 包(https://cocoapods.org/pods/Shuffle-iOS),我的主要目標是創建類似交換影片的 tinder,Shuffle 包確實幫助了我,但我只能添加影像并交換它們,我想要做的是添加一個文本標簽,并使用我已經創建的陣列配置它們,但是檔案沒有提供如何做到這一點,我是 IOS 新手,我了解一些事情,但有些我沒有,我試圖用字串提供屬性,創建陣列并配置委托,但我看不到我的字串,下面是代碼:
let cardImages = [
UIImage(named: "cardImage1"),
UIImage(named: "cardImage2"),
UIImage(named: "cardImage3")
]
let texts = [
"Hello","World","My"
]
// gave function below string property
func card(fromImage image: UIImage, fromText text:String) -> SwipeCard {
let card = SwipeCard()
card.swipeDirections = [.left, .right]
card.content = UIImageView(image: image)
let textLabel = UILabel() //created label here
let leftOverlay = UIView()
leftOverlay.backgroundColor = .green
let rightOverlay = UIView()
rightOverlay.backgroundColor = .red
card.setOverlays([.left: leftOverlay, .right: rightOverlay])
return card
}
func cardStack(_ cardStack: SwipeCardStack, cardForIndexAt index: Int) -> SwipeCard {
return card(fromImage: cardImages[index]!, fromText: texts[index]) // configured card here
}
如果您有任何補充問題,請隨時發表評論。
uj5u.com熱心網友回復:
是的,您可以隨機添加文本、標簽、按鈕等
這是一個代碼
func card1(fromJob Job: Job, index: String) -> SwipeCard {
let card = SwipeCard()
card.swipeDirections = [.left, .right, .up]
card.layer.cornerRadius = 12
card.layer.shadowOffset = CGSize.zero
card.layer.shadowOpacity = 1.0
card.layer.shadowRadius = 6.0
card.layer.masksToBounds = false
card.layer.borderWidth = 2
let view_bg = UIView(frame: CGRect(x: 16, y: 60, width: self.view.frame.size.width - 32, height: self.view.frame.height * 0.75))
card.content = view_bg
view_bg.layer.cornerRadius = 12
view_bg.clipsToBounds = true
DispatchQueue.main.asyncAfter(deadline: .now() 0.1) { [self] in
let view_bg1 = UIView(frame: CGRect(x: 0, y: 0, width: view_bg.frame.size.width, height: view_bg.frame.size.height))
card.content?.addSubview(view_bg1)
let img_card_type = UIImageView(frame: CGRect.zero)
img_card_type.contentMode = .scaleAspectFit
img_card_type.translatesAutoresizingMaskIntoConstraints = false
img_card_type.isHidden = true
view_bg1.addSubview(img_card_type)
img_card_type.centerXAnchor.constraint(equalToSystemSpacingAfter: view_bg1.centerXAnchor, multiplier: 1).isActive = true
img_card_type.topAnchor.constraint(equalTo: view_bg1.topAnchor, constant: 12).isActive = true
img_card_type.widthAnchor.constraint(equalToConstant: 100).isActive = true
img_card_type.heightAnchor.constraint(equalToConstant: 35).isActive = true
let img_comapny = UIImageView(frame: CGRect(x: 24, y: 24, width: 100, height: 100))
img_comapny.image = UIImage(named: "icon_emploimi")
img_comapny.translatesAutoresizingMaskIntoConstraints = false
img_comapny.layer.cornerRadius = 50
img_comapny.layer.shadowOffset = CGSize.zero
img_comapny.layer.shadowOpacity = 1.0
img_comapny.layer.shadowRadius = 6.0
img_comapny.layer.masksToBounds = false
img_comapny.clipsToBounds = true
view_bg1.addSubview(img_comapny)
img_comapny.topAnchor.constraint(equalTo: img_card_type.bottomAnchor, constant: 0).isActive = true
img_comapny.leadingAnchor.constraint(equalTo: view_bg1.leadingAnchor, constant: 24).isActive = true
img_comapny.heightAnchor.constraint(equalToConstant: 100).isActive = true
img_comapny.widthAnchor.constraint(equalToConstant: 100).isActive = true
let lbl_company_name = UILabel(frame: CGRect.zero)
lbl_company_name.translatesAutoresizingMaskIntoConstraints = false
lbl_company_name.numberOfLines = 3
lbl_company_name.font = AppFont.getBold(forStyle: .title3)
view_bg1.addSubview(lbl_company_name)
lbl_company_name.leadingAnchor.constraint(equalTo: img_comapny.trailingAnchor, constant: 24).isActive = true
lbl_company_name.trailingAnchor.constraint(equalTo: view_bg1.trailingAnchor, constant: -24).isActive = true
lbl_company_name.centerYAnchor.constraint(equalToSystemSpacingBelow: img_comapny.centerYAnchor, multiplier: 1).isActive = true
let job_title = UILabel(frame: CGRect.zero)
job_title.text = Job.title //"iOS Developer"
job_title.translatesAutoresizingMaskIntoConstraints = false
job_title.numberOfLines = 2
job_title.font = AppFont.getBold(forStyle: .title3)
view_bg1.addSubview(job_title)
job_title.topAnchor.constraint(equalTo: img_comapny.bottomAnchor, constant: 32).isActive = true
job_title.leadingAnchor.constraint(equalTo: view_bg1.leadingAnchor, constant: 24).isActive = true
job_title.trailingAnchor.constraint(equalTo: view_bg1.trailingAnchor, constant: -24).isActive = true
}
let leftOverlay = UIImageView()
let img_dislike = UIImageView(frame: CGRect(x: view_bg.frame.size.width - 132, y: 32, width: 100, height: 100))
img_dislike.image = UIImage(named: "ic_dislike")
leftOverlay.addSubview(img_dislike)
let rightOverlay = UIView()
let img_like = UIImageView(frame: CGRect(x: 32, y: 32, width: 100, height: 100))
img_like.image = UIImage(named: "ic_like")
rightOverlay.addSubview(img_like)
let upOverlay = UIView()
let img_saved = UIImageView(frame: CGRect(x: (view_bg.frame.size.width - 100)/2, y: (view_bg.frame.size.height)/2, width: 100, height: 100))
img_saved.image = UIImage(named: "ic_save")
upOverlay.addSubview(img_saved)
card.setOverlays([.left: leftOverlay, .right: rightOverlay, .up: upOverlay])
return card
}
您可以通過該程式在 SwipeCard 中添加視圖,并在其中輕松添加標簽和文本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/428596.html
