ইউআইএসব্রোলভিউয়ের অভ্যন্তরে ইউআইওয়েবভিউতে আমি কীভাবে জুম সক্ষম করতে পারি?


132

আমার একটি UIWebViewযা ভিতরে UIScrollViewরয়েছে (স্ক্রোলভিউতে অন্য উপাদান রয়েছে)

আমি multitouch উভয় সক্রিয় করার চেষ্টা করার ইন্টারফেস বিল্ডার বা কর্মসূচি উপর UIWebViewকিন্তু এটি এখনও HTML- এর জন্য জুম করতে পারবেন না, আমি উভয় জুম হ্যান্ডেল করতে হবে UIScrollViewএবং UIWebView? বা আমার কিছু সেট করা হয়নি?


2
scalesPageToFit = YESএটি কাজ করে তবে এটি আপনার ডিফল্ট সামগ্রীর আকার পরিবর্তন করে, আমার উত্তরটি দেখুন
আইপেটেল

উত্তর:


348

ইউআইউইভভিউতে যেকোন শৃঙ্খলাবদ্ধ এবং জুম করার জন্য আপনার অবশ্যই স্কেলপেজটিওফিট = হ্যাঁ সেট করতে হবে


2
এটি ভাল, এখন ব্যতীত আমার পৃষ্ঠাটি ছোট করে দেখানো হবে। আমি প্রদর্শনের জন্য কোডে একটি এইচটিএমএল পৃষ্ঠা তৈরি করছি, এবং আমি এটি আগের আকারে থাকতে চাই, তবে আমার ব্যবহারকারীদের চিমটি জুমিংয়ের সাথে জুম বাড়ানোর অনুমতি দিন
ড্যান এফ

33
আপনার এইচটিএমএল ডকুমেন্টের মাথায় নিম্নলিখিত মেটা ট্যাগ যুক্ত করুন: <মেটা নাম = 'ভিউপোর্ট' সামগ্রী = 'প্রাথমিক-স্কেল = 1.0, সর্বাধিক স্কেল = 10.0' />
ভোকো

2
বাহ্যিক ওয়েবসাইটের সাহায্যে আমি কীভাবে একই জিনিস করতে পারি? এটি হল, আমি প্রাথমিক জুম সেট করেছি এবং এর পরে ব্যবহারকারী জুমিং সক্ষম করা হবে।
উইলিয়াম জকুশ

হাই, এটি সব ঠিকঠাক পেজিং, জুমআইন / আউট, ইত্যাদি কাজ করছে ... তবে এতে আমার একটা সমস্যা আছে। আমার অ্যাপ্লিকেশন উভয় অভিযোজনে কাজ করছে (প্রতিকৃতি এবং ল্যান্ডস্কেপ)। এখন, প্রতিকৃতিতে, আমাকে পৃষ্ঠাটি 2-3 বার সোয়াইপ করতে হবে তবে আমি পরবর্তী পৃষ্ঠায় যেতে সক্ষম হয়েছি। তবে ল্যান্ডস্কেপ এ ঠিকঠাক কাজ করছে। আমি স্ক্রোলভিউয়ের ভিতরে ওয়েবভিউ নিয়েছি এবং স্ক্রোলভিউয়ের পেজিং রয়েছে। কিন্তু যখন আমি পরের পৃষ্ঠায় যাওয়ার জন্য স্ক্রোলটি সোয়াইপ করার চেষ্টা করেছি, তখন পরের পৃষ্ঠায় যাওয়ার জন্য আমাকে 2 থেকে 3 বার সোয়াইপ করতে হবে (প্রতিকৃতি মোডে)। একই সম্পর্কিত কোনও ধারণা। সাহায্যের জন্য ধন্যবাদ.
নিশান্ত বি

নিখুঁত উত্তর ... ধন্যবাদ
AL̲̳I

12

ঠিক আছে, আপনাকে উপরের দুটিটিই করতে হবে, তবে নিম্নলিখিতগুলিও। মূল দর্শনে আমার একটি ওয়েব ভিউ ছিল এবং এটি কার্যকর হয়নি।

  1. উপরের মত, আপনাকে প্রথমে একটি মূল ইউভিস্ক্রোলভিউ রাখতে হবে, তারপরে স্ক্রোল ভিউতে ওয়েব ভিউটি রাখতে হবে।
  2. উপরে হিসাবে <UIScrollViewDelegate>আপনার ভিউ কন্ট্রোলারে প্রয়োগ করুন, ইন্টারফেস বিল্ডারে ভিউ কন্ট্রোলারের কাছে স্ক্রোল ভিউ প্রতিনিধি টেনে আনুন এবং viewForZoomingInScrollViewপদ্ধতিটি বাস্তবায়ন করুন । এটি অবশ্যই পয়েন্টারটি ইউআইএসক্রোলভিউতে ফিরে আসবে (মাইস্ক্রোলভিউতে ফিরে আসবে)।
  3. আমি ওয়েব ভিউ এবং স্ক্রোল ভিউ উভয়ের জন্য আইবিআউটলেট বৈশিষ্ট্য তৈরি করেছি - এগুলি আপনার ভিউ কন্ট্রোলারের সাথে এনআইবিতে লিঙ্ক করুন।
  4. স্ক্রোল ভিউতে, অ্যাট্রিবিউটস ইন্সপেক্টরটিতে যান, আপনার সর্বোচ্চ এবং নূন্যতম জুম ফ্যাক্টরগুলি সেট করুন (আমি 0.5 থেকে 5.0 সেট করি যা ভালভাবে কাজ করে)।
  5. ওয়েব ভিউতে, বৈশিষ্ট্য পরিদর্শকটিতে:
  6. ওয়েব ভিউ বিভাগে, ফিট করার জন্য স্কেল পৃষ্ঠাগুলি নির্বাচন করুন
  7. ভিউ বিভাগে, মোডের জন্য নির্বাচন করুন, "শীর্ষে বাম"
  8. নীচে দেখুন বিভাগে, ব্যবহারকারী ইন্টারঅ্যাকশন সক্ষম করা এবং একাধিক টাচ সক্ষম সক্ষম করুন

3

জাভাস্ক্রিপ্টের সাহায্যে আপনি জুম স্তরটি নিয়ন্ত্রণ করতে পারেন, যদিও আমি যে ওলি সমাধান পেয়েছি তা মসৃণ দেখাচ্ছে না look

বলুন আপনি এতে আছেন <head>:

<meta id="vp" name="viewport" content="width=768,initial-scale=1.0">

4x এ জুম করতে, এবং তারপরেও ব্যবহারকারীকে জুম পরিবর্তন করতে, সামগ্রীটি দু'বার পরিবর্তন করতে:

var vp = document.getElementById('vp');
vp.content = "width=767,minimum-scale=4.0,maximum-scale=4.0,user-scalable=yes";
vp.content = "width=768,minimum-scale=0.25,maximum-scale=10.0,user-scalable=yes";

প্রস্থটি টগল করা খুব গুরুত্বপূর্ণ - অন্যথায় মোবাইল সাফারিতে মারাত্মক পুনরায় রঙ করার বাগ রয়েছে (অতিরিক্ত-অনুকূলকরণের কারণে)।

আপনি কেবল initial-scaleআবার সেট করতে পারবেন না - এটি দ্বিতীয়বার উপেক্ষা করা হবে।


2

আপনার নিয়ামকটিতে আপনাকে ভিউফ্রোমিংমিংস্ক্রোলভিউ পদ্ধতিটি প্রয়োগ করতে হবে, বা জুমিং কোনও কিছুই করবে না। (কেন এটি প্রয়োজন হবে তা আমি সত্যি জানি না তবে আপনি সেখানে যান))

বিস্তারিত তথ্যের জন্য, http://developer.apple.com/iphone/library/docamentation/WindowsViews/ কনসেপ্টুয়াল / ইউআইএসক্রোলভিউ_পিজি / জুমজুম / জুমজুমHtml দেখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.