Posts

Post not yet marked as solved
7 Replies
Thanks for your help, but I solved this problem by adding the following line bannerImageView.isUserInteractionEnabled = true
Post not yet marked as solved
7 Replies
import UIKit import SnapKit class HeaderDetailView: UIView {         var onClose: (() -> Void)?     private(set) lazy var expandButtonView: UIView = {         let view = UIView()         return view     }()     private(set) lazy var expandButton: UIButton = {         let button = UIButton()         button.setTitleStyled(buttonLabelText, fontName: Constants.robotoMediumFont, fontSize: appearance.expandButtonLabelSize, fontColor: appearance.textColor)         button.addTarget(self, action: #selector(expandLabel), for: .touchUpInside)         return button     }()     private(set) lazy var underlineView: UIView = {         let view = UIView()         view.backgroundColor = appearance.underlineColor         return view     }()          private(set) lazy var bannerImageView: UIImageView = {         let banner = UIImageView()          banner.translatesAutoresizingMaskIntoConstraints = false          banner.backgroundColor = .grey.withAlphaComponent(0.5)          banner.contentMode = .scaleAspectFill          return banner     }()     private(set) lazy var closeButton: UIButton = {        let button = UIButton()         button.translatesAutoresizingMaskIntoConstraints = false         button.setImage(UIImage(named: "24_x_24_close"), for: .normal)         button.addTarget(self, action: #selector(closeButtonTapped), for: UIControl.Event.touchUpInside)         return button     }()     init() {         super.init(frame: UIScreen.main.bounds)         addSubviews()         makeConstraints()     }     required init?(coder aDecoder: NSCoder) {         fatalError("init(coder:) has not been implemented")     }         private func addSubviews() {         addSubview(previewTextLabel)         addSubview(detailTextView)         addSubview(expandButtonView)         detailTextView.addSubview(detailTextLabel)         expandButtonView.addSubview(expandButton)         expandButtonView.addSubview(underlineView)     }     func updateView(with product: ProductCard, code: Int, banner: ActionBannerModel?) {         self.bannerCode = code         self.banner = banner         notificationView.product = product         previewTextLabel.text = product.name         detailTextLabel.text = product.detailText.htmlToString         if product.isAvailable == 0 {             addSubview(notificationView)             notificationView.code = product.code             notificationView.snp.makeConstraints { make in                 make.top.equalTo(underlineView.snp.bottom).offset(24)                 make.leading.equalToSuperview().offset(appearance.defaultOffset)                 make.trailing.equalToSuperview().offset(-appearance.defaultOffset)                 make.height.equalTo(139)             }             notificationView.onMessageView = { [weak self] status in                 guard let self = self else { return }                 self.delegate?.createNotificatiom(status)             }         }         if bannerCode == product.code {             addSubview(bannerImageView)             bannerImageView.addSubview(closeButton)             bannerImageView.snp.makeConstraints { make in                 make.top.equalTo(underlineView.snp.bottom).offset(16)                 make.leading.equalToSuperview()                 make.trailing.equalToSuperview()                 make.height.equalTo(88)             }             closeButton.snp.makeConstraints { make in                 make.trailing.equalTo(bannerImageView.snp.trailing).inset(16)                 make.bottom.equalTo(bannerImageView.snp.bottom).inset(56)                 make.height.width.equalTo(24)             }             guard let banner = banner else { return }             setBannerView(urlString: banner.img, title: banner.text, date: banner.dateFull)         }     }     private func makeConstraints() {         previewTextLabel.snp.makeConstraints { (make) in             make.leading.equalToSuperview().offset(appearance.defaultOffset)             make.trailing.equalToSuperview().inset(appearance.defaultOffset)             make.top.equalToSuperview().offset(appearance.defaultOffset)         }         detailTextView.snp.makeConstraints { (make) in             make.leading.equalToSuperview().offset(appearance.defaultOffset)             make.trailing.equalToSuperview().inset(appearance.defaultOffset)             make.top.equalTo(previewTextLabel.snp.bottom).offset(appearance.defaultOffset / 2)         }         detailTextLabel.snp.makeConstraints { (make) in             make.leading.equalToSuperview()             make.trailing.equalToSuperview()             make.top.equalToSuperview()             make.bottom.equalToSuperview()         }         expandButtonView.snp.makeConstraints { (make) in             make.leading.equalToSuperview().offset(appearance.defaultOffset)             make.trailing.equalToSuperview().inset(appearance.defaultOffset)             make.top.equalTo(detailTextView.snp.bottom)         }         expandButton.snp.makeConstraints { (make) in             make.leading.equalToSuperview()             make.top.equalToSuperview()             make.bottom.equalToSuperview()         }         underlineView.snp.makeConstraints { (make) in             make.top.equalTo(expandButton.snp.bottom).offset(appearance.underlineViewTopOffset)             make.leading.equalToSuperview()             make.width.equalTo(expandButton.snp.width)             make.height.equalTo(appearance.underlineViewHeight)         }     }     @objc func expandLabel() {         print("Done")         let params: [AnyHashable : Any] = ["installationId": Constants.deviceUniqueId as Any, "product": product?.code as Any]         appMetricaFactory = factory.makeAppMetricaFactory()         appMetricaFactory?.sendRequest(name: "productShowMoreDescription", parametrs: params)         if CardConst.expandedState == .collapsed {             CardConst.expandedState = .expanded         } else {             CardConst.expandedState = .collapsed         }         ProductCardViewController.shared?.updateView()     }     @objc func closeButtonTapped(_ sender: UIButton) {         print("Tapped")         ProductCardViewController.shared?.customizeView()         onClose?()     } }
Post not yet marked as solved
7 Replies
Post not yet marked as solved
7 Replies
private func addSubviews() { addSubview (предварительный просмотр TextLabel) addSubview (detailTextView) addSubview (expandButtonView) detailTextView.addSubview(detailTextLabel) expandButtonView.addSubview(expandButton) expandButtonView.addSubview(underlineView) } expandButton.snp.makeConstraints { (make) в make.leading.equalToSuperview() make.top.equalToSuperview() make.bottom.equalToSuperview() } если bannerCode == product.code { addSubview(bannerImageView) bannerImageView.addSubview (близко кнопка) bannerImageView.snp.makeConstraints { сделать в make.top.equalTo(underlineView.snp.bottom).offset(16) make.leading.equalToSuperview() make.trailing.equalToSuperview() make.height.equalTo(88) } closeButton.snp.makeConstraints { сделать в make.trailing.equalTo(bannerImageView.snp.trailing).inset(16) make.bottom.equalTo(bannerImageView.snp.bottom).inset(56) make.height.width.equalTo(24) }
Post not yet marked as solved
7 Replies
request <NSFetchRequest: 0x6040002c1030> (entity: Item; predicate: (title CONTAINS[cd] "Bay"); sortDescriptors: (( "(title, ascending, compare:)")); type: NSManagedObjectResultType; )
Post not yet marked as solved
7 Replies
I expect that the method loadItem () must update the viewController and sort by request, but viewController dont update, sorting does not occur
Post not yet marked as solved
7 Replies
in extension TodoListViewControllerist dont work method loadItemi dont understand why?Sorry for my English )