मैं UIscrollview के अंदर uipageviewController जोड़ना चाहूंगा। सब कुछ अपेक्षित के रूप में जोड़ा जाता है। लेकिन UIScrollView स्क्रॉल नहीं हो रहा है। मूल रूप से, संपूर्ण दृश्य नियंत्रक लैंडस्केप मोड में लोड होता है। मैं UIPageViewController का उपयोग करके एक पुस्तक लोड कर रहा हूं और इसे स्क्रॉलव्यू के अंदर जोड़ रहा हूं ताकि उपयोगकर्ता पूर्ण पृष्ठ देखने के लिए स्क्रॉल कर सकें और पेजव्यू कंट्रोलर का उपयोग करके प्रबंधित किए गए पृष्ठ को भी बदल सकें।

इसलिए मैं स्क्रॉलव्यू के अंदर पेज व्यू कंट्रोलर का उपयोग कर रहा हूं

Output

class QuranLandController: UIViewController {

    @IBOutlet weak var quranContainer: UIView!
    @IBOutlet weak var scrollView: UIScrollView!

    // UIPageViewController
    let controller = QuranPagerController()

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
        addChildViewController(controller)
        controller.view.translatesAutoresizingMaskIntoConstraints = false

        quranContainer.layout(controller.view)
            .width().top().left().right().height(900)
//        containerView.addSubview(controller.view)
//
//        NSLayoutConstraint.activate([
//            controller.view.leadingAnchor.constraint(equalTo: containerView.leadingAnchor),
//            controller.view.trailingAnchor.constraint(equalTo: containerView.trailingAnchor),
//            controller.view.topAnchor.constraint(equalTo: containerView.topAnchor),
////            quranContainer.heightAnchor.constraint(equalToConstant: 900),
//            controller.view.heightAnchor.constraint(equalTo: containerView.heightAnchor),
//            controller.view.bottomAnchor.constraint(equalTo: containerView.bottomAnchor)
//            ])

//        let contentRect: CGRect = quranScrollContainer.subviews.reduce(into: .zero) { rect, view in
//            rect = rect.union(view.frame)
//        }
//        quranScrollContainer.contentSize = contentRect.size

        controller.didMove(toParentViewController: self)

        //        Translator().defaultTranslation()
        for recognizer in controller.gestureRecognizers {
            if recognizer is UITapGestureRecognizer {
                recognizer.isEnabled = false
            }
        }

        let value = UIInterfaceOrientation.landscapeRight.rawValue
        UIDevice.current.setValue(value, forKey: "orientation")
    }

    override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
        return .landscapeRight
    }

    override var shouldAutorotate: Bool {
        return true
    }

    /*
    // 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.destination.
        // Pass the selected object to the new view controller.
    }
    */

}
1
Ahsan Aasim 1 मार्च 2020, 14:49

1 उत्तर

UIPageViewController बनाएं और UIViewController को UIScrollView के साथ पेज के रूप में डालें।

प्रत्येक पृष्ठ को नीचे तक स्क्रॉल किया जा सकेगा।

0
えるまる 1 मार्च 2020, 15:19
वैसे मेरे पास uipageview के प्रत्येक व्यू कंट्रोलर के अंदर अधिक टैप जेस्चर हैं .. क्या uipagecontroller स्क्रॉल करने का कोई तरीका है?
 – 
Ahsan Aasim
1 मार्च 2020, 15:59
यह खराब दृश्य पदानुक्रम है, मेरा मानना ​​है कि यह इस तरह से काम नहीं करेगा।
 – 
えるまる
1 मार्च 2020, 16:04
हाँ मैं समझता हूँ। लेकिन मेरे परिदृश्य को इस तरह लागू करने की जरूरत है। मैंने स्क्रॉलव्यू स्क्रॉल समस्या हल कर ली है। अब पृष्ठदृश्य नियंत्रक पृष्ठ स्वाइप के साथ समस्या उत्पन्न होती है। यह पूरी तरह से अक्षम हो गया
 – 
Ahsan Aasim
2 मार्च 2020, 09:30
पेजिंग सक्षम के साथ संग्रह दृश्य का उपयोग करने का प्रयास करें। यह स्वाइप को अक्षम नहीं करेगा।
 – 
えるまる
2 मार्च 2020, 09:39
जैसा कि मुझे पृष्ठ कर्ल एनीमेशन की आवश्यकता है, यह एक और मुद्दा होगा। मैंने देखा है कि कुछ ऐप्स ने वही चीज़ लागू की है जिसे मैं हासिल करना चाहता हूं। तो एक उपाय होना चाहिए
 – 
Ahsan Aasim
2 मार्च 2020, 09:43