ইউআইএসক্রোলভিউ স্ক্রোলযোগ্য সামগ্রী আকারের দ্ব্যর্থতা


508

সহকর্মীরা, আমি ইন্টারফেস বিল্ডারে অটোলআউট (এক্সকোড 5 / আইওএস 7) নিয়ে সমস্যায় পড়ছি। এটি অত্যন্ত প্রাথমিক এবং গুরুত্বপূর্ণ তাই আমি মনে করি যে এটি সঠিকভাবে কীভাবে কাজ করে তা প্রত্যেকেরই জানা উচিত। এটি যদি এক্সকোডে একটি বাগ হয় তবে এটি একটি সমালোচনামূলক!

সুতরাং, যখনই আমার মতামত শ্রেণিবদ্ধতা থাকে তখন আমি সমস্যার মধ্যে পড়ে যাই:

>UIViewController
>> UIView
>>>UIScrollView
>>>>UILabel (or any other comparable UIKit Element)

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

আমি যখন ইউআইএলবেলে একটি পিছনে বাধা যুক্ত করি তখন সমস্যা শুরু হয়:

উদাহরণস্বরূপ, স্থান থেকে ট্রেলিং: সুপারভিউ সমান: 25

এখন দুটি সতর্কতা দেখা দেয় - এবং আমি বুঝতে পারি না কেন:

ক) স্ক্রোলযোগ্য সামগ্রীর আকারের দ্ব্যর্থতা (স্ক্রোল ভিউতে দ্ব্যর্থপূর্ণ স্ক্রোলযোগ্য সামগ্রী উচ্চতা / প্রস্থ রয়েছে)

খ) ভুল জায়গায় দেখা (লেবেল প্রত্যাশিত: x = -67 প্রকৃত: x = 207)

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

দয়া করে নোট করুন: আপনি যদি ইউআইএসক্রোলভিউকে কোনও ইউআইভিউয়ের সাথে প্রতিস্থাপন করেন তবে আচরণটি প্রত্যাশার মতো হয় (লেবেলের ফ্রেমটি সঠিক এবং সীমাবদ্ধতা অনুসারে)। সুতরাং ইউআইএসক্রোলভিউতে সমস্যাটি আছে বলে মনে হচ্ছে বা আমি কোনও গুরুত্বপূর্ণ বিষয় অনুপস্থিত।

আমি যখন আইবি দ্বারা প্রস্তাবিত লেবেলের ফ্রেমটি আপডেট না করেই অ্যাপ চালিত করি ঠিক ঠিক এটি অবস্থিত, এটি যেখানে ঠিক আছে এবং ইউআইস্ক্রোলভিউটি স্ক্রোলযোগ্য। যদি আমি ফ্রেমটি আপডেট করি তবে লেবেলটি দৃষ্টির বাইরে এবং ইউআইএসক্রোলভিউ স্ক্রোল করে না।

আমাকে ওবি-وان কেনোবি সাহায্য করুন! অস্পষ্ট লেআউট কেন? কেন ভুল জায়গা দেখুন?

আপনি এখানে নমুনা প্রকল্পটি ডাউনলোড করতে পারেন এবং কী চলছে তা যদি আপনি বুঝতে পারেন তবে চেষ্টা করতে পারেন: https://github.com/Wirsing84/AutoLayoutProblem

ইন্টারফেস বিল্ডারে সমস্যার চিত্রণ


8
ইউআইএলবেলকে কোনও সামগ্রী ভিউতে রাখার চেষ্টা করুন, তারপরে সামগ্রীটির দৃশ্যে (নিয়মিত ইউআইভিউ) লেবেলের পিছনের প্রান্তটি সেট করুন। এই ভিডিওটি আপনাকে ব্যাপক সাহায্য করতে পারে: youtube.com/watch?v=PgeNPRBrB18&feature=youtu.be
erdekhayser

1
দুর্দান্ত ভিডিও তবে এটি আমার জন্য সতর্কবার্তাগুলি ঠিক করে নি। :(
মিঃ রজারস

ভিডিওটির জন্য আপনাকে অনেক ধন্যবাদ - আমি এটির থেকে অনেক কিছু শিখলাম (বরং আশ্চর্যরকম)! যাইহোক, আমি যখন ভিডিওটির জ্ঞানটি স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 18953617/ … এর সাথে সংযুক্ত করি তখন আমি সতর্কতাগুলি ঠিক করতে পারি। যে প্রশ্নটি রয়ে গেল তা হ'ল: স্ক্রোলভিউয়ের সামগ্রী ভিউয়ের আকারটি কেবল প্রয়োজনীয় হিসাবে কীভাবে করা যায়?
Wirsing

এই ভিডিওটি একবার দেখুন । এটি XCode 5 / iOS 7 এর সাথে ইউআইএসক্রললআউট এবং অটোলেআউট কীভাবে ব্যবহার করবেন তা দেখায়।
jaxvy

আমার পরামর্শটি UIScrollViewসরাসরি ব্যবহার করবেন না । পরিবর্তে ব্যবহার করুন UICollectionViewবা UITableViewযতটা সম্ভব সম্ভব, বেশিরভাগই প্রতিটি উপাদান এই উপাদানগুলির সাথে সম্ভব এবং এটি সরলতা, পাঠযোগ্যতা এবং পুনরায় ব্যবহারযোগ্যতা দেয় !!!
স্প্যাটেল

উত্তর:


1093

সুতরাং আমি এইভাবে বাছাই করেছি:

  1. ইনসাইড UIScrollView যোগ একটি UIView(আমরা যে কল করতে পারেন contentView);

  2. এই সালে contentView, সেট টপ, নীচে, 0 করতে বাম এবং ডান মার্জিন (থেকে অবশ্যই scrollViewযা superView); অনুভূমিকভাবে এবং উল্লম্বভাবে কেন্দ্রটিকে সারিবদ্ধ করুন ;

শেষ

এখন আপনি যে সব আপনার মতামত যোগ করতে পারেন contentView, এবং contentSizeএর scrollViewস্বয়ংক্রিয়ভাবে সঙ্গে অনুযায়ী পুনরায় সাইজ করা হবে contentView

হালনাগাদ:

নীচে দেওয়া মন্তব্যে @ সার্জিও পোস্ট করা এই ভিডিওটিতে কিছু বিশেষ কেস কভার করা হয়েছে ।


33
প্রায় নিখুঁত, স্ক্রোলভিউটি আর আপনার সামগ্রীর দৈর্ঘ্য অনুমান করতে পারে না এবং ততক্ষণে এটির উপাদানগুলি আকারের অভ্যন্তরের সামগ্রীতে ফিট করতে পারে। আমার কনটেন্টভিউয়ের ভিতরে একটি টেবিলভিউ রয়েছে যার উচ্চতা পরিবর্তন হয় (সীমাবদ্ধতার মাধ্যমে) এবং স্ক্রোলভিউ আমাকে স্ক্রোল করতে দেয় না।
সাইবারমিউ

28
হতে পারে এই ভিডিওটি বাকি সমস্ত সমস্যা কাটিয়ে উঠতে সহায়তা করতে পারে।
সার্জিও

45
এটি এটি স্ক্রোল করতে পারে না।
দরিয়ান

2
@ মাত্তোগোবি এটিই ছিল! এটা কৌতুক করেছে! 2 দিন ধরে স্ক্রোলভিউ অটোলয়আউট পাগলামির এই ধরণের সমস্যার সাথে লড়াই করে যাচ্ছিল .... ধন্যবাদ ইউ বন্ধু !!!
polo987

55
স্ক্রোলভিউ যার যারাই সমস্যার মুখোমুখি হচ্ছে যাতে স্ক্রোলযোগ্য নয়, বিষয়বস্তু দেখার নীচের অংশটি নির্ধারণ করে এবং কেন্দ্রটিকে উলম্বভাবে সারিবদ্ধ করে কম অগ্রাধিকার দিয়ে আমার জন্য কৌশলটি করা হয়েছিল!
jimmy0251

98

এই ত্রুটিটি ট্র্যাক করতে আমাকে কিছুটা সময় নিয়েছিল, প্রথমদিকে আমি স্ক্রোলভিউয়ের আকার পিন করার চেষ্টা করেছি তবে ত্রুটি বার্তায় স্পষ্টভাবে "সামগ্রী আকার" বলা হয়েছে says আমি নিশ্চিত করেছি যে আমি স্ক্রোলভিউয়ের শীর্ষ থেকে পিন করা সমস্ত কিছুই নীচে পিন করা হয়েছে। এইভাবে স্ক্রোলভিউ সমস্ত সামগ্রী এবং সীমাবদ্ধতার উচ্চতা সন্ধান করে এর সামগ্রীর উচ্চতা গণনা করতে পারে। এটি দ্ব্যর্থহীন সামগ্রীর উচ্চতার সমাধান করেছে, প্রস্থটি বেশ অনুরূপ ... প্রথম দিকে আমার কাছে বেশিরভাগ জিনিস ছিল স্ক্রোলভিউতে কেন্দ্রীভূত, তবে আমাকে বস্তুগুলি স্ক্রোলভিউয়ের পাশেও পিন করতে হয়েছিল। আমি এটি পছন্দ করি না কারণ আইফোন 6 এর বৃহত্তর স্ক্রিন থাকতে পারে তবে এটি 'অস্পষ্ট বিষয়বস্তুর প্রস্থ' ত্রুটিটিকে সরিয়ে ফেলবে।


31
আপনার উত্তর করার জন্য আপনাকে ধন্যবাদ! যদি আমি আপনাকে সঠিকভাবে বুঝতে পারি তবে আপনি স্ক্রোলভিউয়ের প্রতিটি প্রত্যাক্ষরকে উপরের এবং নীচে পিন করে ত্রুটিটি সরিয়ে ফেলতে পারবেন। তবে এটি প্রয়োজনীয় নয়। আপনাকে কেবল নিশ্চিত করতে হবে যে উপরে থেকে স্ক্রোলভিউয়ের নীচে অবিরত সীমিত করার একটি উপায় আছে। [-XXX] আমি আশা করি যে বোধগম্য ছিল;>
Wirsing

1
ভিউতে একটি ভেরিয়েবল হাইট থাকলে কীভাবে সমস্যাটি সমাধান করবেন? আমি কীভাবে সীমাবদ্ধতাগুলি সেট আপ করব যাতে স্ক্রোলভিউ আকারগুলি গণনা করতে পারে?
hashier

2
'আপনাকে কেবল নিশ্চিত করতে হবে যে উপরের থেকে স্ক্রোলভিউয়ের নীচে অবিরত সীমানা তৈরি করার একটি উপায় আছে' <- এই বাক্যটির জন্য ধন্যবাদ
অ্যাডাম ওয়েট

3
আমাকে কী সাহায্য করেছিল তা নিশ্চিত করে তুলছে যে স্ক্রোল ভিউটি সুপারভাইভে পিন করা হয়েছে এবং উপরের বা নীচের বিন্যাসের গাইড নয়। আমি নীচে লেআউট গাইডের প্রতিবন্ধকতা সরিয়েছি এবং ইন্টারফেস বিল্ডারের পরিবর্তে মেনুতে গিয়েছিলাম। সম্পাদক -> পিন -> সুপারভিউতে নীচে স্থান।
আলবার্তো লোপেজ

2
আপনি যদি স্ক্রোলভিউয়ের প্রস্থটি আপনার ফোনের স্ক্রিনের প্রস্থ বা আপনার ইউআইআইতে থাকা অন্য কোনও উপাদান (যেমন ইউআইভিউযুক্ত রয়েছে) অনুসরণ করতে চান তবে আপনাকে পরিমাপের জন্য স্ক্রোলভিউয়ের বাইরে থাকা অন্য উপাদানটি ব্যবহার করে "সমান প্রস্থ" সেট করতে হবে।
Departamento বি

87

এক্সকোড 11+

সহজ উপায় ব্যবহার autolayout :

  1. যোগ UIScrollView এবং পিন করুন0,0,0,0 তত্ত্বাবধানে যুক্ত (বা আপনার পছন্দসই আকার)
  2. যোগ UIViewScrollView, এটা পিন 0,0,0,0সব 4 পক্ষই এবং এটি কেন্দ্রীভূতhorizontally এবংvertically
  3. আকার পরিদর্শক, পরিবর্তন bottomএবং align center Yঅগ্রাধিকার 250. (অনুভূমিক স্ক্রোল পরিবর্তনের জন্য)trailing এবংalign center X )
  4. আপনার এই ভিউটিতে যে সমস্ত ভিউ দরকার তা যুক্ত করুন। নিম্নতম দৃশ্যে নীচের সীমাবদ্ধতা সেট করতে ভুলবেন না
  5. নির্বাচন করুন UIScrollView, আকার পরিদর্শক নির্বাচন করুন এবং নির্বাচন নির্বাচন করুন Content Layout Guides

1
আমি স্ক্রোলভিউয়ের সামগ্রীর উচ্চতা নির্ধারণ করতে পারিনি তবে এটি কার্যকর হয়। :)
অন্ধ নিনজা

2
ইঙ্গিত: আমার দ্বারা এটি কেবলমাত্র কাজ করেছিল, যদি আমি কেন্দ্রটি অনুভূমিকভাবে এবং উল্লম্বভাবে সরিয়ে ফেলি এবং এটির সমান প্রস্থ (স্ক্রোলভিউ + দৃশ্যটি স্ক্রোলভিউয়ের ভিতরে) দিয়ে প্রতিস্থাপন করি এবং সামগ্রীর উপর ভিত্তি করে উচ্চতা যুক্ত করি, যার অর্থ ভিউয়ের শেষ উপাদানটির নীচের সীমাবদ্ধতা প্রয়োজন। : আরও তথ্য জন্য এখানে দেখুন stackoverflow.com/a/54577278/5056173
শন Stayns

1
শন, আমি প্রতিদিন এটি আক্ষরিকভাবে ব্যবহার করছি এবং যখন উল্লম্ব এবং অনুভূমিক স্ক্রোলভিউ স্ক্রোলিংয়ের বিষয়টি আসে তখন আমার এই পদ্ধতির সাথে কখনও সমস্যা হয়নি। হতে পারে আপনি সর্বনিম্ন / শেষ উপাদানটির নীচে একটি সীমাবদ্ধতা রাখতে ভুলে গেছেন। তা ছাড়া, এটি কাজ করবে না।
đorđe Nilović

6
পয়েন্ট 4 নম্বরে - দ্বিতীয় বাক্যটি সবচেয়ে বড়।
নীতীশ

1
এই উত্তরটি আমার পক্ষে নিখুঁতভাবে কাজ করেছে
সতবিন্দর সিংহ

63

এটি আমার স্ব-উত্তরের প্রশ্নের উত্তর ইউআইএসক্রোলভিউ + কেন্দ্রেড ভিউ + অ্যাম্বিগাস স্ক্রোলযোগ্য সামগ্রী আকার + অনেক আইফোন আকার

তবে এটি পুরোপুরি আপনার কেসটিও কভার করে!

সুতরাং, সরলতম মামলার প্রাথমিক অবস্থা এখানে রয়েছে:

  1. সমস্ত প্রান্তে 0 টি সীমাবদ্ধতার সাথে স্ক্রোলভিউ
  2. বোতাম অনুভূমিক এবং উল্লম্ব কেন্দ্রিক সঙ্গে সংশোধন করা হয়েছে প্রস্থ ও উচ্চতা সীমাবদ্ধতার
  3. এবং, অবশ্যই - বিরক্তিকর সতর্কতা Has ambiguous scrollable content width এবং Has ambiguous scrollable content height

1

আমাদের যা করতে হবে তা হ'ল:

  • জন্য উদাহরণস্বরূপ "0", 2 অতিরিক্ত সীমাবদ্ধতা যোগ trailing এবং / অথবা নীচে আমাদের দেখার জন্য (নীচে স্ক্রীনশট উপর উদাহরণ তাকান) স্থান।

গুরুত্বপূর্ণ: আপনাকে পিছনে এবং / বা নীচের সীমাবদ্ধতাগুলি যুক্ত করতে হবে। "শীর্ষস্থানীয় এবং শীর্ষ" নয় - এটি কার্যকর নয়!

2

আপনি এটি আমার উদাহরণের প্রকল্পে পরীক্ষা করতে পারেন , এটি এই সমস্যাটি কীভাবে ঠিক করবেন তা প্রদর্শন করে।

পুনশ্চ

যুক্তি অনুসারে - এই ক্রিয়াটি "বিরোধী বাধা" সৃষ্টি করে। কিন্তু না!

আমি জানি না কেন এটি কাজ করে এবং কীভাবে এক্সকোড সনাক্ত করে যে কোন সীমাবদ্ধতাটিকে বেশি অগ্রাধিকার দেওয়া হয়েছে (কারণ আমি এই সীমাবদ্ধতার স্পষ্টতার জন্য অগ্রাধিকার সেট করি না)। কেউ যদি ব্যাখ্যা করে তবে আমি কৃতজ্ঞ হব, কেন এটি নীচে মন্তব্যে কাজ করে।


দুর্দান্ত টিপ! আমি কেবল নীচের প্রান্তে একটি সীমাবদ্ধতা তৈরি করে মাঝারি বা নিম্নের দিকে অগ্রাধিকার স্থাপন করেছি
ডিন

কি দারুন! এটি গুরুত্ব সহকারে কোনও ধারণা তৈরি করে না তবে কাজ করে! ধন্যবাদ! আমার দৃষ্টিতে আমার সর্বশেষ আইটেমটি 0 এবং BANG এর নীচে সীমাবদ্ধতা সেট করে set অবশেষে কাজ করেছেন।
Jakob Hviid

60

এক্সকোড 11+, সুইফ্ট 5

আপনি যদি ভাবছেন তবে উত্তরগুলির সমস্ত কেন আর কার্যকর হয় না, না হয় তবে নিশ্চিত হয়ে নিন যে আপনি সামগ্রীটি (যেটি আপনি স্ক্রোল ভিউয়ের ভিতরে রেখেছেন) স্ক্রোল ভিউয়ের সামগ্রী বিন্যাস গাইডে এবং ফ্রেম বিন্যাস নির্দেশিকাতে নয় pin

সামগ্রী প্রদর্শন প্রান্তগুলি (শীর্ষস্থানীয়, অনুগামী, শীর্ষ, নীচে) ফ্রেম লেআউট গাইডটিতে চিত্রের নেতৃত্বের মতো পিন করা উচিত নয়

এটার মত না

তবে এটি পছন্দ করুন - সামগ্রী লেআউট গাইড হিসাবে to

ড্রপডাউন থেকে সামগ্রী বিন্যাস গাইড নির্বাচন করুন

এখানে চিত্র বর্ণনা লিখুন

এবং তারপরে সর্বাধিক উত্তরগুলি আপনার পক্ষে কাজ করবে।

এখন সর্বাধিক সহজ পদ্ধতিটি এরকম চলছে:

  1. রুট ভিউতে স্ক্রোল ভিউ রাখুন
  2. স্ক্রোল দৃশ্যের সমস্ত দিকটি তত্ত্বাবধানে পিন করুন
  3. অন্য একটি ইউআইভিউ দেখুন (এটিকে বিষয়বস্তু দর্শন বলবে) এবং এটিকে স্ক্রোল ভিউয়ের ভিতরে রাখবে
  4. স্ক্রোল দর্শনের সামগ্রীর বিন্যাস নির্দেশিকাতে সামগ্রী সামগ্রীর সমস্ত দিকটি পিন করুন
  5. স্ক্রোল ভিউর ফ্রেম লেআউট গাইডের সমান হতে কন্টেন্ট ভিউয়ের প্রস্থকে পিন করুন
  6. আপনি যেভাবে চান কনটেন্ট ভিউয়ের উচ্চতা ঠিক করুন (নীচের উদাহরণে আমি কেবল ধ্রুবক উচ্চতার সীমাবদ্ধতা ব্যবহার করেছি)

সামগ্রিকভাবে বাস্তবায়নের ক্ষেত্রে আপনার কাঠামোটি এর মতো দেখতে পাবেন

এখানে চিত্র বর্ণনা লিখুন


@ ওয়ান্ট টোকনউ উচ্চতার জন্য বাঁধা নেওয়ার দরকার নেই, কেবল তার অগ্রাধিকারটি কম (250) এ পরিবর্তন করুন
রেকননার

Xcode 11+, সুইফট 5. @WantToKnow উত্তর মতে, আমি আমার বিষয়, আমি [ভিডিও] প্রস্তুত মীমাংসিত [1] এবং [কোড] [2] [1]: youtube.com/watch?v=qMrH5_Yj5hM [2]: github.com/AhmAbdallah/ কাস্টম কালেকশন ভিউ
আহমেদ আবদুল্লাহ

1
এটি একটি দুর্দান্ত উত্তর, ধন্যবাদ।
কনস্টান্টাইন

1
এটি সঠিক উত্তর। ধন্যবাদ।
ভিনসেন্ট জয়

এটি কেবল তখনই আমার পক্ষে কাজ করেছিল যখন আমি সামগ্রীর দৃশ্যের শেষ উপাদানটিতে নীচে বাধা যুক্ত করেছি
D.Zotov

49

নীচের বর্ণিত UIViewহিসাবে আপনাকে একটি সংক্ষিপ্তসার হিসাবে তৈরি করতে হবে UIScrollView:

  • UIViewController
  • UIView 'প্রধান দর্শন'
    • UIScrollView
      • UIView 'ধারক দেখুন'
        • [আপনার সামগ্রী]

দ্বিতীয় পদক্ষেপটি UIScrollViewসীমাবদ্ধতা তৈরি করা। আমি এটির উপরে, নীচে, শীর্ষস্থানীয় এবং এর সুপারভিউয়ের পিছনে সীমাবদ্ধতার সাথে এটি করেছি।

এরপরে আমি ধারকটির জন্য সীমাবদ্ধতা যুক্ত করেছি UIScrollViewএবং এখানেই সমস্যাটি শুরু হয়। আপনি যখন একই বাধা (উপরে, নীচে, শীর্ষে এবং পিছনে) রাখেন স্টোরিবোর্ড একটি সতর্কতা বার্তা দেয়:

"অস্পষ্ট স্ক্রোলযোগ্য সামগ্রীর প্রস্থ রয়েছে" এবং "অস্পষ্ট স্ক্রোলযোগ্য সামগ্রীর উচ্চতা রয়েছে"

উপরে একই সীমাবদ্ধতা দিয়ে চালিয়ে যান, এবং শুধুমাত্র সীমাবদ্ধতা যোগ Equal Heightএবং Equal Widthআপনার টু কনটেইনার দেখুন সম্পর্ক প্রধান ভিউ এবং না আপনার UIScrollView। অন্য কথায় কনটেইনার ভিউয়ের সীমাবদ্ধতাগুলিতে আবদ্ধUIScrollView তার তত্ত্বাবধানে আবদ্ধ।

এর পরে আপনার স্টোরিবোর্ডে কোনও সতর্কতা থাকবে না এবং আপনি আপনার সংক্ষিপ্তসারগুলির জন্য সীমাবদ্ধতাগুলি যোগ করতে পারেন।


2
সম্মত - আমি মনে করি একটি ধারক ভিউ যুক্ত করা সর্বোত্তম, সবচেয়ে রক্ষণাবেক্ষণযোগ্য সমাধান।
অ্যান্ড্রু এবলিং

1
আপনার কাছে পরিচালনা করার জন্য নেভিগেশন বার না থাকলে এই সমাধানটি কাজ করবে।
লীনা

24

অবশেষে আমি এটি বুঝতে পেরেছি, আমি আশা করি এটি বুঝতে সহজ।

আপনি প্রায়শই এই সতর্কতাটিকে বাইবেস করতে পারেন একটি "কন্টেন্ট ভিউ" হিসাবে স্ক্রোলভিউতে একটি বেস ইউআইভিউ যুক্ত করে যেমন উল্লেখ করেছেন এবং এটিকে আপনার স্ক্রোল ভিউয়ের সমান আকার করতে এবং এই সামগ্রী দর্শনে এই 6 টি পরামিতি সেট করে।

এখানে চিত্র বর্ণনা লিখুন

আপনি দেখতে পাচ্ছেন, আপনার 6 টি মোট পরামিতি প্রয়োজন! যা .. সাধারণ পরিস্থিতিতে আপনি 2 টি সীমাবদ্ধতার সদৃশ হন তবে এই স্টোরিবোর্ড ত্রুটি এড়ানোর উপায়।


1
উপরেরটিগুলি প্রায় আমার জন্য কাজ করেছিল, কারণ আমি 3 টি ভিন্ন স্ক্রিন প্রস্থ (4/5, 6, 6+) সম্পর্কে উদ্বিগ্ন হয়েছি, সমান প্রস্থের জন্য আমি কন্টেন্ট ভিউ এবং স্ক্রোল ভিউ সেট করেছি। আপনি ঠিক বলেছেন, এটি ইতিমধ্যে কনটেন্ট ভিউটিতে 0 টি শীর্ষস্থানীয় এবং শেষের স্থান থাকার কথা বলেছি বলে এটি একটি সদৃশ।
স্টুয়ার্ট পি।

8
আপনি ধ্রুবক মানের পরিবর্তে কন্টেন্ট ভিউ থেকে স্ক্রোল ভিউতে সমান প্রস্থ এবং উচ্চতার সীমাবদ্ধতা সেট করতে পারেন। এটি সকল রেজোলিউশনে কাজ করবে।
কুমার সি

আমাকে একই বাস্তবায়ন করতে হবে, সুতরাং আপনি কি আমাকে সাহায্য করতে পারেন যে সামগ্রী এবং ভিউ স্ক্রোল উভয়ের জন্যই আমাকে সমান উচ্চতা এবং প্রস্থ নির্ধারণ করতে হবে?
উর্মি

আপনার এখনও এটি করতে হবে কিনা তা পরীক্ষা করার জন্য উপযুক্ত হতে পারে। আমি সম্প্রতি একটি স্ক্রোলভিউতে একটি চিত্রভিউ সেট আপ করেছি এবং এক্সকোড 8.3 এ ত্রুটি অদৃশ্য হয়ে যাওয়ার জন্য শীর্ষে প্রদর্শিত 4 টি প্রতিবন্ধকতাগুলি সেট করেই পালাতে সক্ষম হয়েছি
উইলিয়াম টি।

1
@ মধু এই পোস্ট করা হয়েছে 3 বছর আগে। তারপরে তারা অবশ্যই স্টোরিবোর্ডগুলিকে উন্নত করেছে। আমিও লক্ষ্য করেছি আপনি এখন কনটেন্ট ভিউ ছাড়া পালাতে পারবেন। আমি আমার উত্তর সামঞ্জস্য করব।
উইলিয়াম টি।

24

আমারও একই প্রশ্ন ছিল. এই চেকবক্সটি আনটিক করুন। যেহেতু আপনি কোডে সামগ্রীর আকার সেট করছেন। এখানে চিত্র বর্ণনা লিখুন


16

আমি জানি আমার দেরি হতে পারে তবে পরবর্তী সমাধানটি কেবল স্টোরবোর্ড ব্যবহার করে অতিরিক্ত কোড ছাড়াই এই জাতীয় সমস্যা সমাধান করে:

আপনার সামগ্রী দেখার জন্য আপনাকে স্ক্রোলভিউতে শীর্ষস্থানীয় / অনুসরণ / শীর্ষ / নীচের জায়গাগুলির সীমাবদ্ধতা নির্ধারণ করতে হবে এবং এটি এর মতো সামগ্রী দেখার ফ্রেম পরিবর্তন করবে না :এখানে চিত্র বর্ণনা লিখুন

অবশ্যই আপনার সামগ্রীতে দেখার জন্য অতিরিক্ত বাধা তৈরি করতে হবে যাতে স্ক্রোল ভিউ সামগ্রীর আকার জানতে পারে। উদাহরণস্বরূপ স্থির উচ্চতা এবং কেন্দ্র সেট করুন।

আশাকরি এটা সাহায্য করবে.


7

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

এখানে চিত্র বর্ণনা লিখুন


5
এটি কেবল সতর্কতা অপসারণ করবে এবং সমস্যাটি সমাধান করার জন্য কিছুই করবে না।
প্রেরাগ মনোজলভিক

আপনি. আছে। আমার. নায়ক। এটি উপলব্ধি করতে পারিনি এবং এটি খুঁজে পেয়ে আনন্দিত! আমি "কেবলমাত্র অবস্থান যাচাই করুন" চেষ্টা করেছিলাম যা আপনি আশা করতে পারেন, আমি জানি না, কেবল অবস্থানটি যাচাই করুন তবে এটি এই বগিটি "সামগ্রীর আকার" ইস্যুকেও অনুমতি দেয় না। "নেভার ভেরিফাই" এর সাথে যেতে হবে। ধন্যবাদ!
ডাস্টিন

আমি মনে করি যদি আপনি প্রোগ্রামটিমে বাচ্চা দর্শন তৈরি করে থাকেন তবে এটি সঠিক উত্তর। ধন্যবাদ!
ফ্লোরিয়ান কুশে

6

কীভাবে স্ক্রোল ভিউটি কাজ করা যায় এবং স্বয়ংক্রিয় বিন্যাসের সাথে পুরোপুরি স্ক্রোলযোগ্য হয় সে সম্পর্কে এটি সত্যই দ্রুত এবং পয়েন্ট টিউটোরিয়ালে দেখুন to এখন, কেবলমাত্র আমাকে এখনও বিস্মিত করে চলেছে তা হ'ল স্ক্রোল ভিউ সামগ্রীর আকার সর্বদা তত্ক্ষণিক বড় হয় তবে প্রয়োজনীয় ..

http://samwize.com/2014/03/14/how-to-use-uiscrollview-with-autolayout/


3

নীচে দেখুন: স্ক্রোলভিউ উল্লম্ব এবং অনুভূমিক কেন্দ্রীভূত বিষয়বস্তু দেখুন। আপনি অস্পষ্টতার ত্রুটি পেয়েছেন, সর্বদা আপনার কন্টেন্ট ভিউ থেকে দুটি স্ক্রলভিউতে যুক্ত হওয়া নিশ্চিত করুন 1) .ব্লিক স্পট কন্টেইনার 2) স্ক্রিনশটে হাইলাইট হওয়া সীমাবদ্ধতার স্থান অনুসরণ করে,

এই সীমাবদ্ধতার অর্থ হ'ল আপনি আপনার সামগ্রী দেখার উচ্চতা বা প্রস্থের পরে কতটা স্ক্রোল করতে পারবেন।

এখানে চিত্র বর্ণনা লিখুন

এটা আপনাকে সাহায্য করতে পারে।


3

আমি নির্বাচিত দৃশ্যের জন্য "অটো লেআউট সমস্যাগুলি সমাধান করুন"> "অনুপস্থিত বাধা যুক্ত করুন" ব্যবহার করে আমার দর্শনের জন্য এই ধরণের সমস্যা সমাধান করেছি Se এখানে চিত্র বর্ণনা লিখুন

নিম্নলিখিত দুটি সীমাবদ্ধতাগুলি আমার সমস্যার সমাধান করে:

trailing = Stack View.trailing - 10
bottom = Stack View.bottom + 76

যার মধ্যে: পিছনে, নীচেটি হ'ল ইউআইএসক্রোলভিউয়ের নীচে iling


এটি "নীচে" বাধা যুক্ত করে আমার পক্ষে কাজ করেছে। এখন যেহেতু আমি এটি সম্পর্কে চিন্তা করি, এটি সঠিক ধারণা দেয়।
সিলভারওয়ल्फ - মনিকা

3

ContentView (ব্যবহার UViewধারক ভিতরে হিসাবে) UIScrollView, প্রান্ত লাঠি ( top, bottom, trailing, leading) superview এর ( UIScrollView) এবং contentViewথাকা উচিত equalwidthএবং equalheightsuperview করতে। সেগুলি প্রতিবন্ধকতা। এবং পদ্ধতির কল:

-(void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
    self.scrollView.contentSize = self.contentView.frame.size;
}

আমার জন্য সমস্যার সমাধান।


3

সুইফ্ট 4+ পদ্ধতির:

1) ইউআইএসক্রোলভিউ শীর্ষ, নীচে, বাম এবং ডান মার্জিন 0 তে সেট করুন

2) ইউআইএসক্রোলভিউয়ের অভ্যন্তরে একটি ইউআইভিউউউ যুক্ত করুন এবং শীর্ষ, নীচে, শীর্ষস্থানীয়, পিছনে মার্জিন 0 (ইউআইএসক্রোলভিউ মার্জিনের সমান) সেট করুন।

3) সর্বাধিক গুরুত্বপূর্ণ অংশটি প্রস্থ এবং উচ্চতা নির্ধারণ করা হয়, যেখানে উচ্চতার সীমাবদ্ধতার কম অগ্রাধিকার থাকা উচিত

private func setupConstraints() {

    // Constraints for scrollView
    scrollView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
    scrollView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
    scrollView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
    scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true

    // Constraints for containerView
    containerView.topAnchor.constraint(equalTo: scrollView.topAnchor).isActive = true
    containerView.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor).isActive = true
    containerView.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor).isActive = true
    containerView.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor).isActive = true
    containerView.widthAnchor.constraint(equalTo: scrollView.widthAnchor).isActive = true

    let heightConstraint = containerView.heightAnchor.constraint(equalTo: scrollView.heightAnchor)
    heightConstraint.priority = UILayoutPriority(rawValue: 250)
    heightConstraint.isActive = true
}

2

@ মাট্টিও গোব্বির উত্তর সঠিক, তবে আমার ক্ষেত্রে, স্ক্রোলভিউ স্ক্রোল করতে পারে না, আমি " সেন্টার ওয়াই " প্রান্তিককরণ এবং " উচ্চতা> = 1 " যুক্ত করি, স্ক্রোলভিউ স্ক্রোলযোগ্য হয়ে যাবে


2

যে সমস্ত লোক ইউস্ক্রোলভিউয়ের সাথে লড়াই করছে তারা স্ক্রল করছে না কেবল আপনার শেষ দেখার নীচের বিন্যাসটি (যা আপনার সামগ্রী দর্শনের অভ্যন্তরে রয়েছে) দিয়ে আপনার সামগ্রী দেখানোর নীচের সীমাবদ্ধতা সেট করে। সেন্টার ওয়াই প্রতিবন্ধকতা সরাতে ভুলবেন না।

উপরের সংজ্ঞায়িত হিসাবে সমস্ত প্রতিবন্ধকতা একই। স্ক্রোলভিউ কেবলমাত্র এর সামগ্রী দর্শন থেকে সর্বোচ্চ উচ্চতা পাওয়ার বিষয়ে উদ্বিগ্ন এবং আমরা এটিকে সর্বশেষ দর্শনের নীচের সীমাবদ্ধতা হিসাবে সেট করছি, যার অর্থ স্ক্রোলভিউ স্বয়ংক্রিয়ভাবে এর সামগ্রীটিকে অফসেটে পরিবর্তন করে দেবে।

আমার ক্ষেত্রে সর্বশেষ ভিউটি লাইনের কোনও সম্পত্তি = 0 ছাড়াই ইউআইএলযোগ্য ছিল (যা স্বয়ংক্রিয়ভাবে এর সামগ্রীর উপর নির্ভর করে তার উচ্চতা সামঞ্জস্য করে) তাই এটি গতিশীলভাবে ইলাইলেবলের উচ্চতা বৃদ্ধি করে এবং শেষ পর্যন্ত আমাদের স্ক্রোলযোগ্য অঞ্চল বৃদ্ধি পাবে কারণ ইউইলযোগ্য নীচের বিন্যাসটি আমাদের সামগ্রী দর্শনের নীচের সাথে সংযুক্ত থাকে, যা স্ক্রোলভিউকে এটির অফসেট বাড়াতে বাধ্য করে।


2

আমি এক্সকোডে কেবল স্টোরিবোর্ড ব্যবহার করে ইউটিউব স্ক্রোল স্ট্যাকভিউগুলিতে একটি ভিডিও তৈরি করেছি

আমি মনে করি 2 ধরণের পরিস্থিতি এখানে উপস্থিত হতে পারে।

স্ক্রোলভিউয়ের ভিতরে দৃশ্য -

  1. কোনও অভ্যন্তরীণ সামগ্রীর আকার নেই (উদা UIView )
  2. এর নিজস্ব অভ্যন্তরীণ সামগ্রীর আকার রয়েছে (উদাঃ UIStackView)

উভয় ক্ষেত্রেই উল্লম্বভাবে স্ক্রোলযোগ্য দৃশ্যের জন্য আপনাকে এই সীমাবদ্ধতাগুলি যুক্ত করতে হবে:

  1. উপরে, বাম, নীচে এবং ডান থেকে 4 টি সীমাবদ্ধতা।

  2. স্ক্রোলভিউয়ের সমান প্রস্থ (অনুভূমিকভাবে স্ক্রোলিং বন্ধ করতে)

তার নিজস্ব অন্তর্নিহিত সামগ্রীর উচ্চতা রয়েছে এমন দর্শনগুলির জন্য আপনার আর কোনও বাধা দরকার নেই।

এখানে চিত্র বর্ণনা লিখুন


যে মতামতগুলির কোনও অভ্যন্তরীণ সামগ্রীর উচ্চতা নেই, আপনার উচ্চতার সীমাবদ্ধতা যুক্ত করতে হবে। স্ক্রোলভিউয়ের উচ্চতার চেয়ে উচ্চতার সীমাবদ্ধতা থাকলেই দৃশ্যটি স্ক্রোল করবে।

এখানে চিত্র বর্ণনা লিখুন


2
import UIKit

class ViewController: UIViewController {

    //
    let scrollView: UIScrollView = {

        let sv = UIScrollView()
        sv.translatesAutoresizingMaskIntoConstraints = false
        return sv
    }()

    let lipsumLbl: UILabel = { // you can use here any of your subview

        let lbl = UILabel()
        lbl.translatesAutoresizingMaskIntoConstraints = false
        lbl.text = """
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce eleifend nisi sit amet mi aliquet, ut efficitur risus pellentesque. Phasellus nulla justo, scelerisque ut libero id, aliquet ullamcorper lectus. Integer id iaculis nibh. Duis feugiat mi vitae magna tincidunt, vitae consequat dui tempor. Donec blandit urna nec urna volutpat, sit amet sagittis massa fringilla. Pellentesque luctus erat nec dui luctus, sed maximus urna fermentum. Nullam purus nibh, cursus vel ex nec, pulvinar lobortis leo. Proin ac libero rhoncus, bibendum lorem sed, congue sapien. Donec commodo, est non mollis malesuada, nisi massa tempus ipsum, a varius quam lorem vitae nunc.

        Cras scelerisque nisi dolor, in gravida ex ornare a. Interdum et malesuada fames ac ante ipsum primis in faucibus. Maecenas vitae nisl id erat sollicitudin accumsan sit amet viverra sapien. Etiam scelerisque vulputate ante. Donec magna nibh, pharetra sed pretium ac, feugiat sit amet mi. Vestibulum in ipsum vitae dui vehicula pulvinar eget ut lectus. Fusce sagittis a elit ac elementum. Fusce iaculis nunc odio, at fermentum dolor varius et. Suspendisse consectetur congue massa non gravida. Sed id elit vitae nulla aliquam euismod. Pellentesque accumsan risus dolor, eu cursus nibh semper id.

        Vestibulum vel tortor tellus. Suspendisse potenti. Pellentesque id sapien eu augue placerat dictum. Fusce tempus ligula at diam lacinia congue in ut metus. Maecenas volutpat tellus in tellus maximus imperdiet. Integer dignissim condimentum lorem, id luctus nisi maximus at. Nulla pretium, est sit amet mollis eleifend, tellus nulla viverra dolor, ac feugiat massa risus a lectus. Pellentesque ut pulvinar urna, blandit gravida ipsum. Nullam volutpat arcu nec fringilla auctor. Integer egestas enim commodo, faucibus neque ac, rutrum magna. Vivamus tincidunt rutrum auctor. Cras at rutrum felis. Fusce elementum lorem ut pharetra venenatis.
        """
        lbl.textColor = .darkGray
        lbl.font = UIFont.systemFont(ofSize: 16)
        lbl.numberOfLines = 0
        return lbl
    }()

    //======================================================================//
    //
    // MARK:- viewDidLoad
    //
    override func viewDidLoad() {
        super.viewDidLoad()

        setupViews()
        setupAutoLayout()
    }

    func setupViews() {

        title = "ScrollView Demo"
        view.backgroundColor = .white
        view.addSubview(scrollView)
        scrollView.addSubview(lipsumLbl)
    }

    func setupAutoLayout() {

        scrollView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
        scrollView.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
        scrollView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
        scrollView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true

        lipsumLbl.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor).isActive = true
        lipsumLbl.topAnchor.constraint(equalTo: scrollView.topAnchor).isActive = true
        lipsumLbl.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
        lipsumLbl.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
        lipsumLbl.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor).isActive = true
    }
}

আউটপুট:

এখানে চিত্র বর্ণনা লিখুন


আপনি ইতিমধ্যে যখন অ্যানচারটি রেখে গেছেন তখন কেন আপনার নেতৃত্বের অ্যাঙ্কর প্রয়োজন?
শেডটিড

বামআন্টর এই উদ্দেশ্যে ব্যবহার করা যাবে না, তাই আমরা এটি অর্জনের জন্য নেতৃস্থানীয় অ্যাঙ্কর ব্যবহার করতে হবে ..
iAj

আপনি উভয় আপনার উদাহরণ ব্যবহার করেছেন।
শেডটিড

@ শ্যাডটিড আমাকে পরীক্ষা করতে দিন
iAj

2

আমার ক্ষেত্রে আমি আইপ্যাডে ভুল বিষয়বস্তুর আকার এবং সামগ্রীর আকারের দ্ব্যর্থতার বিষয়টি পেয়েছি তবে আইফোনের ক্ষেত্রে কাজ করছি। সমস্যাটি সমাধানের জন্য স্টোরিবোর্ডে আমি নিম্নলিখিত পরিবর্তনগুলি করেছি।

  1. ইউআইভিউতে স্ক্রোলভিউ যুক্ত করুন এবং শীর্ষস্থানীয়, শীর্ষ, অনুসরণ এবং নীচে 0,0,0,0 এ সীমাবদ্ধতা যুক্ত করুন।
  2. যেমন প্রয়োজন অনুযায়ী স্ক্রোল ভিউ উচ্চতা সেট করুন। 100।
  3. স্ক্রোল ভিউতে ইউআইভিউউ যুক্ত করুন এবং শীর্ষস্থানীয়, শীর্ষ, পিছনে এবং নীচে 0,0,0,0 এবং সারণি (এক্স) এবং কেন্দ্র (ওয়াই) সীমাবদ্ধকরণগুলিতে সীমাবদ্ধ করুন।
  4. স্ক্রোল ভিউয়ের আকার পরিদর্শককে "সামগ্রী লেআউট গাইড" নির্বাচন করুন De

1

উল্লম্ব স্ক্রোলিং

  1. সুপারভিউতে 0,0,0,0 সীমাবদ্ধতা সহ একটি ইউআইএসক্রোলভিউ যুক্ত করুন।
  2. স্ক্রোলভিউতে একটি ইউআইভিউ যুক্ত করুন, সুপারভিউতে 0,0,0,0 সীমাবদ্ধতা সহ।
  3. ইউআইএসভিউর জন্য ইউআইএসক্রোলভিউতে একই প্রস্থের সীমাবদ্ধতা যুক্ত করুন।
  4. ইউআইভিউতে উচ্চতা যুক্ত করুন।
  5. ইউআইভিউতে সীমাবদ্ধতা সহ উপাদান যুক্ত করুন।
  6. নীচের নিকটতম উপাদানটির জন্য, নিশ্চিত হয়ে নিন যে এটির ইউআইভিউয়ের নীচে একটি সীমাবদ্ধতা রয়েছে।

0

আমি যা করেছি তা এখানে দেখানো হিসাবে একটি পৃথক সামগ্রী প্রদর্শন তৈরি করা।

সামগ্রী ভিউটি ফ্রিফর্ম এবং এতে কন্টেন্টভিউয়ের সাথে তাদের নিজস্ব বাধাগুলির সাথে সমস্ত সাবভিউ যুক্ত করা যেতে পারে।

ইউআইএসক্রোলভিউটি মূল দৃশ্যের নিয়ামকটিতে যুক্ত করা হয়েছে।

প্রাথমিকভাবে আমি বিষয়বস্তু ভিউ যুক্ত করি যা আইবিআউটলেট এর মাধ্যমে ক্লাসে লিঙ্কযুক্ত এবং ইউআইএসক্রোলভিউয়ের সামগ্রী ভিউ সেট করে।

ইন্টারফেস বিল্ডারের মাধ্যমে কন্টেন্টভিউয়ের সাথে ইউআইএসক্রোলভিউ


0

আমি একই ত্রুটি পেয়েছিলাম .. আমি নিম্নলিখিতটি সম্পন্ন করেছি

  1. দেখুন (Superview)
  2. স্ক্রোলভিউ 0,0,600,600
  3. স্ক্রোলভিউয়ের ভিতরে ইউআইভিউ: 0,0,600,600
  4. ইউআইভিউতে চিত্রের ভিউ, লেবেল রয়েছে

এখন স্ক্রোলভিউ (2) এরপরে ইউআইভিউ (3) এর জন্য শীর্ষস্থানীয় / ট্রেলিং / শীর্ষ / নীচে যুক্ত করুন।

দেখুন নির্বাচন (1) এবং দেখুন (3) সমান উচ্চতা এবং ওজন সেট .. এটি আমার সমস্যা সমাধান করে।

আমি ভিডিওটি সাহায্য করে যা করেছি:

https://www.youtube.com/watch?v=s-CPN3xZS1A


0

[এক্সকোড 7.2 এবং আইওএস 9.2 এর জন্য পরীক্ষিত]

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

সুতরাং, আমি অনুমান করি আমরা এটি সেট করে ভুল করছি না।

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

স্টোরিবোর্ড সতর্কতা আমাকে পাগল করে দিচ্ছিল এবং আমি সতর্কতাটি দমন করার জন্য জিনিসগুলি অনুভূমিকভাবে বা উলম্বভাবে কেন্দ্র করতে চাইনি।


0

যদি আপনি এমন কোনও আচরণ পেয়ে থাকেন যেখানে আপনি ডান স্ক্রোলগুলিতে স্ক্রোল বারটি লক্ষ্য করেন তবে সামগ্রীটি সরে যায় না, এই সত্যটি সম্ভবত বিবেচনা করার মতো:

স্ক্রোল ভিউয়ের সামগ্রীর জন্য একটি স্থিত অবস্থান প্রদানের জন্য আপনি স্ক্রোল ভিউয়ের সামগ্রী এবং বস্তুগুলির মধ্যেও সীমাবদ্ধতাগুলি ব্যবহার করতে পারেন, যাতে সেই সামগ্রীটি স্ক্রোল ভিউতে ভাসমান প্রদর্শিত হয়।

এটি অ্যাপলের ডকুমেন্টেশন থেকে । উদাহরণস্বরূপ, আপনি যদি দুর্ঘটনাক্রমে কন্টেন্টভিউয়ের পরিবর্তে শীর্ষস্থানীয় লেবেল / বাটন / ইমজি / ভিউ স্ক্রোল অঞ্চলের বাইরের দৃশ্যে (সম্ভবত কোনও শিরোনাম বা স্ক্রোলভিউয়ের ঠিক উপরে কিছু?) পিন করেন, তবে আপনি নিজের পুরো সামগ্রীটি স্থানটিতে স্থির করে ফেলবেন।


0

পূর্ববর্তী উত্তরে উল্লিখিত হিসাবে, আপনার স্ক্রোল ভিউয়ের ভিতরে একটি কাস্টম ভিউ যুক্ত করা উচিত:

কাস্টম ভিউটি চিত্রটিতে চিহ্নিত কন্টেন্টভিউ

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

এখানে চিত্র বর্ণনা লিখুন

এখন থেকে আপনি যখন প্রকল্পটি চালাবেন, স্ক্রোল ভিউ স্বয়ংক্রিয়ভাবে এটির সামগ্রী আকার আপডেট করবে, কোনও অতিরিক্ত কোডের প্রয়োজন নেই।


0

আপনাকে কেবল নিশ্চিত করতে হবে যে উপরে থেকে স্ক্রোলভিউয়ের নীচে অবিরত সীমিত করার একটি উপায় আছে। [-XXX]

আমার ক্ষেত্রে - একটি অনুভূমিকভাবে স্ক্রোলিং স্ক্রোল ভিউ - আমারও স্ক্রোল ভিউয়ের প্রতিটি সন্তানের জন্য প্রস্থ এবং উচ্চতার সীমাবদ্ধতা যুক্ত করা দরকার, যদিও অ্যাপলের প্রযুক্তিগত নোট আপনাকে এগুলি বলে না।


0

ইন্টারফেস বিল্ডারে আকার পরিদর্শকের ফ্রিফর্মে ভিউকন্ট্রোলারের (ইউআইএসক্রোলভিউকে ধারণ করা একটি) আকারটি সেট করুন এবং সকলকে কাজ করা উচিত।

ইউআইভিউকন্ট্রোলারযুক্ত ইন্টারফেস বিল্ডারে আকার পরিদর্শকের ফ্রিফর্ম সেটিং


0

আপনার যদি এখনও ইউআইএসক্রোলভিউতে সমস্যা হয় তবে কেবলমাত্র সামগ্রী বিন্যাস গাইডগুলি বন্ধ করুন (এক্সকোড ইন্টারফেস বিল্ডারে আপনার স্ক্রোলভিউ নির্বাচন করুন -> ডান প্যানেলে আকার পরিদর্শক নির্বাচন করুন -> 'বিষয়বস্তু বিন্যাস গাইড' নির্বাচন করুন) বা এই পদক্ষেপগুলি ব্যবহার করে দেখুন: এক্সকোড 11 স্ক্রোল ভিউ লেআউট - এটি বিন্যাসের নতুন স্টাইলের জন্য কার্যকর হতে পারে। 05.02.2020 এর জন্য ম্যাকোস 10.15.2, এক্সকোড 11.3.1 এ সূক্ষ্মভাবে কাজ করে

স্ক্রিনশট দেখুন


0

অটোলেআউট ব্যবহার করা হচ্ছে

আপনার স্ক্রোল ভিউটি একটি ভাল সংজ্ঞায়িত ভিউয়ের মধ্যে যুক্ত করুন এবং তারপরে স্ক্রোল ভিউয়ের ভিতরে স্ট্যাক ভিউ যুক্ত করুন

শীর্ষ, বাম, ডান, নীচে, কেন্দ্রের এক্স এবং কেন্দ্রের ওয়াই সীমাবদ্ধ করে স্ক্রোল দেখুন এবং তাদের প্রাসঙ্গিক সুপার দর্শনে স্ট্যাক ভিউ

নিশ্চিত করুন যে সীমাবদ্ধতাগুলি স্ট্যাক ভিউ থেকে সঠিক তত্ত্বাবধানে (স্ক্রোলভিউ) সাথে সংযুক্ত রয়েছে যেহেতু বর্তমান ডিফল্ট সেটিংস একটি শীর্ষ স্থান সীমাবদ্ধ না করে একটি শীর্ষ সারিবদ্ধকরণ যুক্ত করা হয়।

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