Commit e9be7a5f by SunARcTech2

fix audio

parent a6057915
...@@ -121,12 +121,12 @@ ...@@ -121,12 +121,12 @@
shouldBeEnabled = "Yes" shouldBeEnabled = "Yes"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Bhagyashree/Sunarc/Controller/Me/MyCompletedOrdersViewController.swift" filePath = "Bhagyashree/Sunarc/Controller/Me/MyAllServiceOrderViewController.swift"
timestampString = "560770072.590113" timestampString = "561031158.873988"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "121" startingLineNumber = "127"
endingLineNumber = "121" endingLineNumber = "127"
landmarkName = "tableView(_:didSelectRowAt:)" landmarkName = "tableView(_:didSelectRowAt:)"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
...@@ -137,13 +137,13 @@ ...@@ -137,13 +137,13 @@
shouldBeEnabled = "Yes" shouldBeEnabled = "Yes"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Bhagyashree/AppDelegate.swift" filePath = "Bhagyashree/Sunarc/Controller/Me/MyAllServiceOrderViewController.swift"
timestampString = "560951661.375753" timestampString = "561031158.874055"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "30" startingLineNumber = "124"
endingLineNumber = "30" endingLineNumber = "124"
landmarkName = "messaging(_:didReceiveRegistrationToken:)" landmarkName = "tableView(_:didSelectRowAt:)"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
......
...@@ -27,8 +27,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD ...@@ -27,8 +27,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) { func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
// UIPasteboard.general.string = fcmToken // UIPasteboard.general.string = fcmToken
print(fcmToken)
deviceTokenData = fcmToken deviceTokenData = fcmToken
let defaults = UserDefaults.standard; let defaults = UserDefaults.standard;
defaults.set(fcmToken, forKey: "deviceToken"); defaults.set(fcmToken, forKey: "deviceToken");
......
{
"images" : [
{
"idiom" : "universal",
"filename" : "pause.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
...@@ -312,6 +312,7 @@ class MasterReplyCell: UITableViewCell { ...@@ -312,6 +312,7 @@ class MasterReplyCell: UITableViewCell {
@IBOutlet weak var img2Height: NSLayoutConstraint! @IBOutlet weak var img2Height: NSLayoutConstraint!
@IBOutlet weak var img1Height: NSLayoutConstraint! @IBOutlet weak var img1Height: NSLayoutConstraint!
var playingAudioAtIndex = 1000
override func awakeFromNib() { override func awakeFromNib() {
super.awakeFromNib() super.awakeFromNib()
...@@ -402,6 +403,7 @@ class MasterReplyCell: UITableViewCell { ...@@ -402,6 +403,7 @@ class MasterReplyCell: UITableViewCell {
if let postInFullScreenView = Utils.viewFrom("PostInFullScreenView") as? PostInFullScreenView { if let postInFullScreenView = Utils.viewFrom("PostInFullScreenView") as? PostInFullScreenView {
postInFullScreenView.setNeedsLayout() postInFullScreenView.setNeedsLayout()
postInFullScreenView.layoutIfNeeded() postInFullScreenView.layoutIfNeeded()
postInFullScreenView.lbContent.text = ""
galleryPreview.overlayView = postInFullScreenView galleryPreview.overlayView = postInFullScreenView
} }
...@@ -414,7 +416,7 @@ class MasterReplyCell: UITableViewCell { ...@@ -414,7 +416,7 @@ class MasterReplyCell: UITableViewCell {
} }
extension MasterReplyCell: UITableViewDelegate, UITableViewDataSource { extension MasterReplyCell: UITableViewDelegate, UITableViewDataSource, ResultAudioCellDelegate {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return arrayOfAudios.count return arrayOfAudios.count
...@@ -423,6 +425,16 @@ extension MasterReplyCell: UITableViewDelegate, UITableViewDataSource { ...@@ -423,6 +425,16 @@ extension MasterReplyCell: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let audioCell = tableView.dequeueReusableCell(withIdentifier: "ResultAudioCell", for: indexPath) as! ResultAudioCell let audioCell = tableView.dequeueReusableCell(withIdentifier: "ResultAudioCell", for: indexPath) as! ResultAudioCell
audioCell.audioPath = arrayOfAudios[indexPath.row] audioCell.audioPath = arrayOfAudios[indexPath.row]
audioCell.cellIndex = indexPath.row
audioCell.delegate = self
audioCell.btnPlay.tag = 0
if indexPath.row == playingAudioAtIndex {
audioCell.btnPlay.setBackgroundImage(UIImage(named: "pause"), for: .normal)
audioCell.btnPlay.tag = 8080
} else {
audioCell.btnPlay.setBackgroundImage(UIImage(named: "play"), for: .normal)
}
return audioCell return audioCell
} }
...@@ -430,18 +442,39 @@ extension MasterReplyCell: UITableViewDelegate, UITableViewDataSource { ...@@ -430,18 +442,39 @@ extension MasterReplyCell: UITableViewDelegate, UITableViewDataSource {
return 74.0 return 74.0
} }
func playingAudioAtIndex(index: Int) {
playingAudioAtIndex = index
self.tblAudio.reloadData()
}
} }
protocol ResultAudioCellDelegate {
func playingAudioAtIndex(index: Int)
}
class ResultAudioCell: UITableViewCell { class ResultAudioCell: UITableViewCell {
@IBOutlet var btnPlay: UIButton! @IBOutlet var btnPlay: UIButton!
var audioPath: String? var audioPath: String?
var delegate: ResultAudioCellDelegate?
var cellIndex = 0
@IBAction func play() { @IBAction func play() {
print("tag = \(btnPlay.tag)")
if btnPlay.tag == 8080 {
Audio.pause()
btnPlay.tag = 0
delegate?.playingAudioAtIndex(index: 1000)
return
}
if let audioPath = audioPath { if let audioPath = audioPath {
Audio.playAudio(audioPath: audioPath, success: { Audio.playAudio(audioPath: audioPath, success: {
self.delegate?.playingAudioAtIndex(index: cellIndex)
}) { (errorMesssage) in }) { (errorMesssage) in
self.viewController()?.view.showToast(errorMesssage, position: .bottom, popTime: 2.0, dismissOnTap: false) self.viewController()?.view.showToast(errorMesssage, position: .bottom, popTime: 2.0, dismissOnTap: false)
} }
......
...@@ -107,6 +107,7 @@ class FloorPlanFengshuiViewController: UIViewController { ...@@ -107,6 +107,7 @@ class FloorPlanFengshuiViewController: UIViewController {
if let postInFullScreenView = Utils.viewFrom("PostInFullScreenView") as? PostInFullScreenView { if let postInFullScreenView = Utils.viewFrom("PostInFullScreenView") as? PostInFullScreenView {
postInFullScreenView.setNeedsLayout() postInFullScreenView.setNeedsLayout()
postInFullScreenView.layoutIfNeeded() postInFullScreenView.layoutIfNeeded()
postInFullScreenView.lbContent.text = ""
galleryPreview.overlayView = postInFullScreenView galleryPreview.overlayView = postInFullScreenView
} }
......
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
import UIKit import UIKit
import Kingfisher import Kingfisher
import INSPhotoGallery
class FormViewController: UIViewController { class FormViewController: UIViewController {
...@@ -101,6 +103,12 @@ class CustomOptionImageCell: UITableViewCell { ...@@ -101,6 +103,12 @@ class CustomOptionImageCell: UITableViewCell {
@IBOutlet var lblTitle: UILabel! @IBOutlet var lblTitle: UILabel!
@IBOutlet var imgImageView: UIImageView! @IBOutlet var imgImageView: UIImageView!
override func awakeFromNib() {
super.awakeFromNib()
let tap = UITapGestureRecognizer(target: self, action: #selector(self.imageTapped(gesture:)))
imgImageView.addGestureRecognizer(tap)
}
var customOption: CustomOption? { var customOption: CustomOption? {
didSet { didSet {
if let customOption = customOption { if let customOption = customOption {
...@@ -108,10 +116,38 @@ class CustomOptionImageCell: UITableViewCell { ...@@ -108,10 +116,38 @@ class CustomOptionImageCell: UITableViewCell {
if let image = customOption.value { if let image = customOption.value {
let url = URL(string: image) let url = URL(string: image)
self.imgImageView.kf.setImage(with: url, placeholder: UIImage(named: "placeholder"), options: [.transition(ImageTransition.fade(1)), .scaleFactor(1.0)], progressBlock: nil, completionHandler: nil) self.imgImageView.kf.setImage(with: url, placeholder: nil, options: [.transition(ImageTransition.fade(1)), .scaleFactor(1.0)], progressBlock: nil, completionHandler: nil)
}
}
}
}
@objc func imageTapped(gesture: UITapGestureRecognizer) {
if let image = imgImageView.image {
var photos = [INSPhoto]()
let photo = INSPhoto(image: image, thumbnailImage: nil)
photos.append(photo)
let galleryPreview = INSPhotosViewController(photos: photos, initialPhoto: nil, referenceView: self.viewController()?.navigationController?.view)
if let postInFullScreenView = Utils.viewFrom("PostInFullScreenView") as? PostInFullScreenView {
postInFullScreenView.setNeedsLayout()
postInFullScreenView.layoutIfNeeded()
postInFullScreenView.lbContent.text = ""
galleryPreview.overlayView = postInFullScreenView
} }
galleryPreview.referenceViewForPhotoWhenDismissingHandler = { photo in
return nil
} }
self.viewController()?.present(galleryPreview, animated: true, completion: {
})
} }
} }
} }
...@@ -166,6 +166,7 @@ extension HomePageViewController: UITableViewDelegate, UITableViewDataSource { ...@@ -166,6 +166,7 @@ extension HomePageViewController: UITableViewDelegate, UITableViewDataSource {
if let orderId = order.orderId { if let orderId = order.orderId {
chatViewController.orderId = orderId chatViewController.orderId = orderId
chatViewController.customerId = order.customerDetail.customerId! chatViewController.customerId = order.customerDetail.customerId!
chatViewController.customerProfileImage = dashboard.orders[indexPath.row-1].customerDetail.profileImage
self.navigationController?.pushViewController(chatViewController, animated: true) self.navigationController?.pushViewController(chatViewController, animated: true)
} }
} else { } else {
...@@ -173,27 +174,13 @@ extension HomePageViewController: UITableViewDelegate, UITableViewDataSource { ...@@ -173,27 +174,13 @@ extension HomePageViewController: UITableViewDelegate, UITableViewDataSource {
enquiryDetailsViewController.incrementId = order.incrementId! enquiryDetailsViewController.incrementId = order.incrementId!
enquiryDetailsViewController.orderId = order.orderId! enquiryDetailsViewController.orderId = order.orderId!
enquiryDetailsViewController.customerName = dashboard.orders[indexPath.row-1].customerDetail.name enquiryDetailsViewController.customerName = dashboard.orders[indexPath.row-1].customerDetail.name
enquiryDetailsViewController.customerName = dashboard.orders[indexPath.row-1].customerDetail.profileImage enquiryDetailsViewController.customerImage = dashboard.orders[indexPath.row-1].customerDetail.profileImage
self.navigationController?.pushViewController(enquiryDetailsViewController, animated: true) self.navigationController?.pushViewController(enquiryDetailsViewController, animated: true)
} }
} else if order.products.first?.serviceType == .FORM{ } else if order.products.first?.serviceType == .FORM{
if order.status == .COMPLETE {
let appointmentdetails = Utils.viewController(storyboardName: "Appointment", ofType: ServiceDetailViewController.self)
appointmentdetails.orderStatus = dashboard.orders[indexPath.row-1].status
appointmentdetails.incrementId = order.incrementId
appointmentdetails.orderId = order.orderId
self.navigationController?.pushViewController(appointmentdetails, animated: true)
} else {
let formVC = Utils.viewController(storyboardName: "Forms", ofType: FormViewController.self)
formVC.incrementId = order.incrementId
formVC.orderId = order.orderId
self.navigationController?.pushViewController(formVC, animated: true)
}
// if order.status == .COMPLETE { // if order.status == .COMPLETE {
// let appointmentdetails = Utils.viewController(storyboardName: "Appointment", ofType: ServiceDetailViewController.self) // let appointmentdetails = Utils.viewController(storyboardName: "Appointment", ofType: ServiceDetailViewController.self)
// appointmentdetails.orderStatus = dashboard.orders[indexPath.row-1].status // appointmentdetails.orderStatus = dashboard.orders[indexPath.row-1].status
...@@ -201,11 +188,25 @@ extension HomePageViewController: UITableViewDelegate, UITableViewDataSource { ...@@ -201,11 +188,25 @@ extension HomePageViewController: UITableViewDelegate, UITableViewDataSource {
// appointmentdetails.orderId = order.orderId // appointmentdetails.orderId = order.orderId
// self.navigationController?.pushViewController(appointmentdetails, animated: true) // self.navigationController?.pushViewController(appointmentdetails, animated: true)
// } else { // } else {
// if let form = Form.VC(with: order.incrementId!, orderId: order.orderId!, categoryType: order.products.first!.categoryType){ // let formVC = Utils.viewController(storyboardName: "Forms", ofType: FormViewController.self)
// self.navigationController?.pushViewController(form, animated: true) // formVC.incrementId = order.incrementId
// } // formVC.orderId = order.orderId
// self.navigationController?.pushViewController(formVC, animated: true)
// } // }
if order.status == .COMPLETE {
let appointmentdetails = Utils.viewController(storyboardName: "Appointment", ofType: ServiceDetailViewController.self)
appointmentdetails.orderStatus = dashboard.orders[indexPath.row-1].status
appointmentdetails.incrementId = order.incrementId
appointmentdetails.orderId = order.orderId
self.navigationController?.pushViewController(appointmentdetails, animated: true)
} else {
if let form = Form.VC(with: order.incrementId!, orderId: order.orderId!, categoryType: order.products.first!.categoryType){
self.navigationController?.pushViewController(form, animated: true)
}
}
} else { } else {
self.view.showToast("Unknown service", position: .bottom, popTime: 2.0, dismissOnTap: false) self.view.showToast("Unknown service", position: .bottom, popTime: 2.0, dismissOnTap: false)
} }
......
...@@ -285,10 +285,10 @@ extension OnlineEnquiryViewController: UITextViewDelegate { ...@@ -285,10 +285,10 @@ extension OnlineEnquiryViewController: UITextViewDelegate {
func textViewDidChange(_ textView: UITextView) { func textViewDidChange(_ textView: UITextView) {
if textView.text.count == 0 { if textView.text.count == 0 {
commentViewHeight.constant = 56 // commentViewHeight.constant = 56
lblPlaceHolder.isHidden = false lblPlaceHolder.isHidden = false
} else { } else {
commentViewHeight.constant = txtComment.contentSize.height + (56-28) // 28 is height of txtComment // commentViewHeight.constant = txtComment.contentSize.height + (56-28) // 28 is height of txtComment
lblPlaceHolder.isHidden = true lblPlaceHolder.isHidden = true
} }
} }
......
...@@ -180,16 +180,18 @@ extension MyAllServiceOrderViewController: UITableViewDelegate, UITableViewDataS ...@@ -180,16 +180,18 @@ extension MyAllServiceOrderViewController: UITableViewDelegate, UITableViewDataS
appointmentdetails.orderId = selectedService.orderId appointmentdetails.orderId = selectedService.orderId
self.navigationController?.pushViewController(appointmentdetails, animated: true) self.navigationController?.pushViewController(appointmentdetails, animated: true)
} else { } else {
let formVC = Utils.viewController(storyboardName: "Forms", ofType: FormViewController.self) // let formVC = Utils.viewController(storyboardName: "Forms", ofType: FormViewController.self)
formVC.incrementId = selectedService.incrementId // formVC.incrementId = selectedService.incrementId
formVC.orderId = selectedService.orderId // formVC.orderId = selectedService.orderId
self.navigationController?.pushViewController(formVC, animated: true) // self.navigationController?.pushViewController(formVC, animated: true)
if let form = Form.VC(with: selectedService.incrementId!, orderId: selectedService.orderId!, categoryType: selectedService.categoryType) {
self.navigationController?.pushViewController(form, animated: true)
}
} }
// if let form = Form.VC(with: selectedService.incrementId!, orderId: selectedService.orderId!, categoryType: selectedService.categoryType) {
// self.navigationController?.pushViewController(form, animated: true)
// }
} else { } else {
self.view.showToast("Unknown service", position: .bottom, popTime: 2.0, dismissOnTap: false) self.view.showToast("Unknown service", position: .bottom, popTime: 2.0, dismissOnTap: false)
} }
......
...@@ -128,9 +128,14 @@ extension MyCompletedOrdersViewController: UITableViewDelegate, UITableViewDataS ...@@ -128,9 +128,14 @@ extension MyCompletedOrdersViewController: UITableViewDelegate, UITableViewDataS
} else if selectedService.serviceType == .FORM{ } else if selectedService.serviceType == .FORM{
if let form = Form.VC(with: selectedService.incrementId!, orderId: selectedService.orderId!, categoryType: selectedService.categoryType) { let appointmentdetails = Utils.viewController(storyboardName: "Appointment", ofType: ServiceDetailViewController.self)
self.navigationController?.pushViewController(form, animated: true) appointmentdetails.incrementId = selectedService.incrementId
} appointmentdetails.orderId = selectedService.orderId
self.navigationController?.pushViewController(appointmentdetails, animated: true)
// if let form = Form.VC(with: selectedService.incrementId!, orderId: selectedService.orderId!, categoryType: selectedService.categoryType) {
// self.navigationController?.pushViewController(form, animated: true)
// }
} else { } else {
self.view.showToast("Unknown service", position: .bottom, popTime: 2.0, dismissOnTap: false) self.view.showToast("Unknown service", position: .bottom, popTime: 2.0, dismissOnTap: false)
} }
......
...@@ -58,6 +58,7 @@ class Service { ...@@ -58,6 +58,7 @@ class Service {
if let productsInfo = json["productNames"] as? [[String: Any]] { if let productsInfo = json["productNames"] as? [[String: Any]] {
if let productInfo = productsInfo.first { if let productInfo = productsInfo.first {
self.productName = productInfo["name"] as? String self.productName = productInfo["name"] as? String
self.productId = productInfo["productId"] as? String self.productId = productInfo["productId"] as? String
self.customerId = productInfo["customer_id"] as? String self.customerId = productInfo["customer_id"] as? String
......
...@@ -553,7 +553,7 @@ ...@@ -553,7 +553,7 @@
<constraints> <constraints>
<constraint firstAttribute="width" secondItem="yGv-zf-IaV" secondAttribute="height" multiplier="1:1" id="zhg-EN-iQN"/> <constraint firstAttribute="width" secondItem="yGv-zf-IaV" secondAttribute="height" multiplier="1:1" id="zhg-EN-iQN"/>
</constraints> </constraints>
<state key="normal" image="play"/> <state key="normal" backgroundImage="play"/>
<connections> <connections>
<action selector="play" destination="r0F-XL-bfW" eventType="touchUpInside" id="6BG-4Q-rEd"/> <action selector="play" destination="r0F-XL-bfW" eventType="touchUpInside" id="6BG-4Q-rEd"/>
</connections> </connections>
......
...@@ -28,6 +28,16 @@ ...@@ -28,6 +28,16 @@
<constraint firstAttribute="width" constant="20" id="rZq-aB-M5Z"/> <constraint firstAttribute="width" constant="20" id="rZq-aB-M5Z"/>
</constraints> </constraints>
</imageView> </imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zea-ZP-79R">
<rect key="frame" x="40" y="35" width="295" height="21"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="height" constant="21" id="mim-Wo-mB6"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.023529411760000001" green="0.41960784309999999" blue="0.64313725489999995" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="u4j-hn-0zQ"> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="u4j-hn-0zQ">
<rect key="frame" x="0.0" y="0.0" width="69" height="64"/> <rect key="frame" x="0.0" y="0.0" width="69" height="64"/>
<constraints> <constraints>
...@@ -38,27 +48,18 @@ ...@@ -38,27 +48,18 @@
<action selector="back" destination="yVT-eK-TPJ" eventType="touchUpInside" id="vli-L5-DiF"/> <action selector="back" destination="yVT-eK-TPJ" eventType="touchUpInside" id="vli-L5-DiF"/>
</connections> </connections>
</button> </button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zea-ZP-79R">
<rect key="frame" x="40" y="35" width="295" height="21"/>
<constraints>
<constraint firstAttribute="height" constant="21" id="0oh-Ka-Yv4"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews> </subviews>
<color key="backgroundColor" red="0.7843137255" green="0.92156862750000001" blue="0.99607843139999996" alpha="1" colorSpace="calibratedRGB"/> <color key="backgroundColor" red="0.7843137255" green="0.92156862750000001" blue="0.99607843139999996" alpha="1" colorSpace="calibratedRGB"/>
<constraints> <constraints>
<constraint firstItem="u4j-hn-0zQ" firstAttribute="leading" secondItem="Agr-j8-uxE" secondAttribute="leading" id="0nI-5S-D2O"/> <constraint firstItem="u4j-hn-0zQ" firstAttribute="leading" secondItem="Agr-j8-uxE" secondAttribute="leading" id="0nI-5S-D2O"/>
<constraint firstAttribute="trailing" secondItem="zea-ZP-79R" secondAttribute="trailing" constant="40" id="CK6-Cd-k7g"/> <constraint firstAttribute="bottom" secondItem="zea-ZP-79R" secondAttribute="bottom" constant="8" id="Fdp-Ep-BWZ"/>
<constraint firstItem="zea-ZP-79R" firstAttribute="top" secondItem="KL2-fU-EaS" secondAttribute="bottom" constant="-21" id="R4V-Rd-hzR"/> <constraint firstItem="zea-ZP-79R" firstAttribute="leading" secondItem="KL2-fU-EaS" secondAttribute="trailing" constant="13" id="T5q-hH-V8g"/>
<constraint firstItem="u4j-hn-0zQ" firstAttribute="top" secondItem="Agr-j8-uxE" secondAttribute="top" id="TtW-6R-usG"/> <constraint firstItem="u4j-hn-0zQ" firstAttribute="top" secondItem="Agr-j8-uxE" secondAttribute="top" id="TtW-6R-usG"/>
<constraint firstAttribute="bottom" secondItem="KL2-fU-EaS" secondAttribute="bottom" constant="8" id="Up3-8I-hHN"/> <constraint firstAttribute="bottom" secondItem="KL2-fU-EaS" secondAttribute="bottom" constant="8" id="Up3-8I-hHN"/>
<constraint firstAttribute="bottom" secondItem="u4j-hn-0zQ" secondAttribute="bottom" id="Xi8-bJ-D2t"/> <constraint firstAttribute="bottom" secondItem="u4j-hn-0zQ" secondAttribute="bottom" id="Xi8-bJ-D2t"/>
<constraint firstAttribute="trailing" secondItem="zea-ZP-79R" secondAttribute="trailing" constant="40" id="e8q-vp-sKw"/>
<constraint firstItem="KL2-fU-EaS" firstAttribute="leading" secondItem="Agr-j8-uxE" secondAttribute="leading" constant="7" id="mfH-eg-nXt"/> <constraint firstItem="KL2-fU-EaS" firstAttribute="leading" secondItem="Agr-j8-uxE" secondAttribute="leading" constant="7" id="mfH-eg-nXt"/>
<constraint firstAttribute="height" constant="64" id="nlY-aR-9Kz"/> <constraint firstAttribute="height" constant="64" id="nlY-aR-9Kz"/>
<constraint firstAttribute="bottom" secondItem="zea-ZP-79R" secondAttribute="bottom" constant="8" id="rFv-3b-UaJ"/>
</constraints> </constraints>
<userDefinedRuntimeAttributes> <userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="shadowOpacity"> <userDefinedRuntimeAttribute type="number" keyPath="shadowOpacity">
...@@ -149,8 +150,9 @@ ...@@ -149,8 +150,9 @@
<constraint firstAttribute="height" constant="1" id="prn-5n-udi"/> <constraint firstAttribute="height" constant="1" id="prn-5n-udi"/>
</constraints> </constraints>
</view> </view>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="jPD-VZ-2Tx"> <imageView contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="jPD-VZ-2Tx">
<rect key="frame" x="9" y="45" width="356" height="178"/> <rect key="frame" x="9" y="45" width="356" height="178"/>
<gestureRecognizers/>
</imageView> </imageView>
</subviews> </subviews>
<constraints> <constraints>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment