এক্সকোড 9 - "স্থির প্রস্থের সীমাবদ্ধতাগুলি ক্লিপিংয়ের কারণ হতে পারে" এবং অন্যান্য স্থানীয়করণ সতর্কতা


147

আমি নতুন এক্সকোড ডাউনলোড করেছি এবং ইন্টারফেস বিল্ডারে আমার সতর্কতাগুলির সাথে অনেকগুলি সমস্যা হচ্ছে যা এই জাতীয় কথা বলে:

স্থির প্রস্থের সীমাবদ্ধতা ক্লিপিংয়ের কারণ হতে পারে

দেখে মনে হচ্ছে:

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

আমার বেশ কয়েকটি ভাষার স্থানীয়করণ রয়েছে এবং আমি এই সতর্কতাটি বুঝতে পারি যে অন্য ভাষায় কোনও লেবেলের আকার পরিবর্তন হতে পারে তবে আমার অ্যাপ্লিকেশনটিতে এই সমস্যা নেই। গতকাল আমি এক্সকোড ৮-এ দৌড়ে গিয়ে পরীক্ষা করেছি, ঠিক আছে। আমি অর্থহীন নতুন প্রতিবন্ধকতা যুক্ত করে ঘন্টা এবং ঘন্টা ব্যয় করতে চাই না।

কোন প্রস্তাবিত সমাধান?


আমি আপনাকে অটোরেসাইজিংয়ের দিকে নজর দেওয়ার পরামর্শ দিই
ডার্ক ইনোসেন্স

3
একই অবস্থা. এমন সমস্ত বোতাম রয়েছে যা সমস্ত ভাষায় 50pt প্রস্থের গ্যারান্টিযুক্ত। আমার সাথে অন্যথায় পরিষ্কার অটোলেআউট রিপোর্ট কার্ডটি কেন খুব খারাপ?
জন স্কালো

9
এটি অবশ্যই একটি বিশাল সমস্যা, এবং অবাক করার বিষয় এটি নিয়ে আরও কোনও কথা নেই: ও
ফ্যাটি

2
আমি কেবল ইংরেজী স্থানীয়করণ পেয়েও এই ত্রুটিটি পেয়েছি।
শেডস

6
অন্যদের জন্য, যদি আপনার কোনও স্থানীয়করণ না থাকে এবং কেবল এই সতর্কতাগুলি অদৃশ্য হয়ে যেতে চান তবে আপনার স্টোরিবোর্ডটি এখানে উল্লেখ করা হিসাবে বেস.প্রোজ ফোল্ডারের বাইরে নিয়ে যান: stackoverflow.com/a/45040394/1807644
উইলিয়াম টি।

উত্তর:


179

এমনকি আমার অ্যাপ্লিকেশনটিতে একাধিক ভাষা ছাড়াই আমি একই সতর্কতা পেয়ে যাচ্ছিলাম , যা আমাকে সত্যিকার অর্থে কী চলছে তা সন্ধান করতে পরিচালিত করে। । ।

এখানে কয়েকটি ভিন্ন জিনিস চলছে। আমি পারতাম স্থায়ী-প্রস্থের সতর্কবার্তা নীরবতা পরিবর্তন করে আমার নিজের অ্যাপ্লিকেশানে বস্তুর spacings প্রস্থ সংশোধন প্রস্থ থেকে কম বা সমান অথবা কম বা সমান কম

ইন্টারফেস বিল্ডারে অবজেক্টটি নির্বাচন করে, আকার পরিদর্শকের কাছে গিয়ে সেখানে পরিবর্তন করে এটি করা যেতে পারে:

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


বা, দস্তাবেজের বাহ্যরেখা থেকে সীমাবদ্ধতাটি নির্বাচন করুন, আকার পরিদর্শকের কাছে যান এবং সেখানে পরিবর্তন করুন:

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



আপনার স্ক্রিনশটের শীর্ষে সতর্কতা হিসাবে:

কেন্দ্রের সীমাবদ্ধতার সাথে স্থির নেতৃস্থানীয় এবং অনুসরণের সীমাবদ্ধতা ক্লিপিংয়ের কারণ হতে পারে

এখানে আমার নিজস্ব অ্যাপ্লিকেশন থেকে একটি স্ক্রিনশট রয়েছে যেখানে আমি ঠিক একই সতর্কতা পেয়েছিলাম:

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

আমার কাছে @ সাইন সেট সহ লেবেলগুলি বোতামগুলিতে নেতৃত্ব দেওয়ার জন্য এবং অনুসরণ করতে করতে হয়েছিল তবে রেটিং লেবেলের সাহায্যে কেন্দ্রটি সারিবদ্ধ করার জন্য । আমি একবার কেন্দ্র বিন্যাসের সীমাবদ্ধতা সরিয়ে ফেললে , সতর্কতাটি অদৃশ্য হয়ে গেল, তবে আমি অবৈধভাবে অবজেক্টের সেট রেখেছি।

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


সম্পাদন করা

রেপোজ যেমন মন্তব্যে লিখেছেন, কখনও কখনও কেবল> = 0 যুক্ত করা আপনার প্রয়োজনীয় যা হবেন তাই আপনি নিশ্চিত করছেন যে দুটি উপাদান ওভারল্যাপ না হয় not


2
> = 0 ওভারল্যাপিং এবং স্থির ওভারল্যাপিংয়ের সমস্যাগুলি প্রতিরোধ করে যা আমার আগে ছিল, লিডিং / ট্রেলিংকে ডানে / বামে রূপান্তর করা আমার জন্য ক্লিপিংয়ের ত্রুটিটিকে স্থির করে। ফলাফল বিভিন্ন হতে পারে। কোনও সফ্টওয়্যার বিকাশ শুরু করার আগে দয়া করে আপনার চিকিত্সকের সাথে পরামর্শ করুন।
বিশ্রাম

নিখুঁতভাবে রিপোজ করুন কী ভুল হতে পারে সে সম্পর্কে ভাবুন এবং তা না ঘটে তা নিশ্চিত করার জন্য একটি সীমাবদ্ধতা যুক্ত করুন।
শেডস

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

2
আমি ইউআইএসট্যাকভিউ গ্রহণ করার সাথে একমত এটি অবশ্যই একটি ব্যথা হয়েছে এবং আমি এটি বেশ কয়েকটি বাধা দিয়ে চেষ্টা করার চেষ্টা করেছি, আমি অন্য ইউআইএসট্যাকভিউ যুক্ত করেছি এবং এটি নিখুঁত।
মন্দিরম্যান 15

1
অন্য কোনও বিকল্প আছে - যদি আমি স্থির প্রস্থ হিসাবে আমার নিয়ন্ত্রণ চাই?
কাম্পাই

60

সতর্কবার্তাটি নিঃশব্দ করার জন্য প্রতি প্রতিবন্ধকতার ভিত্তিতে "সম্মানের ভাষা নির্দেশ" অক্ষম করার চেষ্টা করতে পারেন এবং দেখুন এটি সাহায্য করে কিনা। আপনার সীমাবদ্ধতা নির্বাচন করুন এবং বৈশিষ্ট্য / আকার পরিদর্শক খুলুন। ছবি সংযুক্ত দেখুন।

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

PS এই সমাধানটি আইওএসের জন্য কাজ করে। ম্যাকোসের জন্য> = বা <= সতর্কতা নিঃশব্দ করার চেষ্টা করুন।

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

ভাষার দিকনির্দেশকে অসম্মান করুন


1
স্থির "একটি কেন্দ্রের সীমাবদ্ধতার সাথে স্থির নেতৃত্বের ও অনুসরণের সীমাবদ্ধতাগুলি আমার জন্য ক্লিপিংয়ের কারণ হতে পারে" issue ধন্যবাদ!
টড

4
যদি আপনি এটি চেষ্টা করে থাকেন এবং এটির কোনও কার্যকারিতা বলে মনে হচ্ছে না, এক্সকোড ছেড়ে আবার চেষ্টা শুরু করুন। সেই কৌশলটি আমার পক্ষে কাজ করেছিল।
টিপল

2
এটি আমাকে এটিকে নির্বাচন মুক্ত করতে দেয় না।
স্কুটার

1
পারফেক্ট! এটি আমার পক্ষে কাজ করেছে এবং আমার বাধা পরিবর্তন করার দরকার নেই, ধন্যবাদ!
rgkobashi

1
> = বিভিন্ন জটিল অগ্রাধিকারের প্রকল্পগুলির কারণে প্রতিবন্ধকতাগুলির আমার জন্য খারাপ প্রভাব ছিল। আমি আমার লেবেলটিকে একটি ভিউতে সন্নিবেশ করানোর জন্য প্রস্তুত ছিলাম তবে তারপরে আপনার সমাধানটি পেয়ে গেল যে কৌশলটি করেছিল! ধন্যবাদ :)
কেরকোডেক্স

33

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

এক্সকোড আপনাকে স্বয়ংক্রিয়ভাবে এই প্রতিবন্ধকতাগুলি যুক্ত করতে সহায়তা করে:

আপনার স্টোরিবোর্ডের ডকুমেন্টের রূপরেখায় হলুদ তীরটি ক্লিক করুন এবং হয় আপনার স্ক্রিনে (বাম বা ডানদিকে) পাঠ্য কোথায় তার উপর নির্ভর করে "স্থির নেতৃত্ব" বা "ফিক্সড ট্রেলিং" চয়ন করুন choose এটি বেশিরভাগ সমস্যার জন্য এটি ঠিক করবে।

এক্সকোড স্ক্রিনশট

যদি কোনও সমস্যা ছাড়াই একটি বাটন নিয়ে এই সমস্যাটি থাকে (কেবল চিত্র), "ডিফল্ট শিরোনাম" অপসারণের চেষ্টা করুন যা এখনও বোতামটির জন্য সেট করা যেতে পারে:

এক্সকোড স্ক্রিনশট


4
আমার ক্ষেত্রে, ডিফল্ট শিরোনাম সরানো সতর্কতা সরিয়ে ফেলে। ধন্যবাদ!
রেইনহার্ড মন্নার

নোট করুন যে আপনি যখন একটি যুক্ত UIButtonকরবেন Storyboardতখন default buttonশিরোনামটি হবে button
মিগুয়েল টেপালে

29

সঙ্গে Labels, আপনি সেট করতে পারেন Linesহয় 0এবং Autoshrinkবৈশিষ্ট্য Minimum Font Sizeমুছে ফেলার জন্য Fixed Width Constraints May Cause Clippingভালো, সতর্কবার্তা:

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


3
হ্যাঁ আপনার কেবলমাত্র 0 তে লাইন স্থাপন করতে হবে
পুনর্নির্মাণ 5'6

2
0-এ সেটিংস লাইনগুলির ফলে লেবেলটি যতগুলি প্রয়োজন তত বেশি লাইনগুলিতে প্রসারিত হয়, যা আপনি চান নাও হতে পারে।
নিকডনক

@ নিকডনক: আমি জানি যে আপনি যদি লেবেলের জন্য উচ্চতার সীমাবদ্ধতা স্থির করেন তবে এটি প্রসারিত হবে না।
সিংহভাগ

20

আর একটি দ্রুত সমাধান!

কোনও ইউআইবুটনের জন্য শিরোনামটি সরল থেকে বৈশিষ্ট্যযুক্ত পাঠ্যে পরিবর্তন করে আমার সমস্যাটিও সমাধান করেছে: -

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


মোহন মত কাজ!
নৈপুণ্য

7

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


4

সুইফট 4, এক্সকোড 9.1:

এই সমস্যাটি সম্পর্কে, আমি মনে করি আপনার অবজেক্টটি তার তত্ত্বাবধানের প্রসঙ্গে সঠিক কেন্দ্রের অবস্থানটি কী তা জানে না এবং বেশিরভাগ সময় অপেক্ষাকৃত বড় বা অন্য শীর্ষস্থানীয় / ট্রেলিং সেটিংস সঠিকভাবে কাজ করে না using প্রথমত, আপনাকে অবশ্যই আপনার তদারকির সঠিক সীমাবদ্ধতাগুলি পরীক্ষা করতে হবে।

যদি আপনার তত্ত্বাবধান / গুলি সঠিকভাবে সেট করা থাকে তবে আপনি "অনুভূমিকভাবে কনটেইনারে" সীমাবদ্ধতাটি সেট করে নিজের অবজেক্টের মধ্যে সঠিক অবস্থানটি কী তা বোঝাতে চেষ্টা করতে পারেন :

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


2

যদি আপনার বোতামের জন্য নির্দিষ্ট প্রস্থের সীমাবদ্ধতার প্রয়োজন হয় তবে প্রস্থের সীমাবদ্ধতার অগ্রাধিকারটি সেট করুন 700


1

আমারও একই সমস্যা ছিল তবে আমি যদি এটি পরিবর্তন করি তবে আমি যদি চয়ন করি তবে >=এটি স্বয়ংক্রিয়ভাবে স্থির সেট করে060 উদাহরণ হিসাবে সতর্কতাটি আবার উপস্থিত হয়। সুতরাং আমি সমস্যার সাথে লুপে ছিলাম।

আমি এম্বেডিং আমার ঠিক পারে LabelএকটিView

Editor > Embed In > View

ইন Labelআমি সেট Top, Bottom, Leadingএবং Trailingসঙ্গেconstant = 0

সীমাবদ্ধতার

ইন Viewআমি সেট constraintsযে আমি আগে আশা করেছিলাম।


1

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

এখানে যে পদ্ধতির কাজ হয়েছিল তা হ'ল উপযুক্ত আকারের সীমাবদ্ধতা সহ একটি ইউআইভিউ তৈরি করা এবং ইউআইভিউবে একটি সংক্ষিপ্তসার হিসাবে ইউআইএলএবেল এম্বেড করা। তারপরে প্রয়োজনে কাটা কাটা ঘটে এবং আমি কোনও সতর্কতা পাই না। এটি ইউআইভিউ / এম্বেড থাকা ইউআইএলবেল স্ট্যাকভিউতে রয়েছে কিনা তা কাজ করে।

এটি মূলত হ্যারলডো গন্ডিমের মতোই একই পদ্ধতির তবে এখানে আপনি এটি স্ট্যাকভিউয়ের সাথে বা ছাড়াই কাজ করতে পারেন।

নিম্নলিখিত চিত্রটি স্ট্যাকভিউ সহ এবং তার বাইরেও পদ্ধতির দেখায়। "স্পেসারনাম" হ'ল একটি পরিবর্তনশীল প্রস্থের ইউআইভিউ ভিউ যা একটি লেবেলযুক্ত এবং "স্পেসারপিডি" হ'ল একটি নির্দিষ্ট প্রস্থের ৮০ ভাগ। [রঙগুলি উল্লেখযোগ্য নয়; দেখার জন্য যেখানে সেখানে প্রদর্শন করতে।]

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


0

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

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

লেবেল থেকে সর্বদা কিছুটা দূরে থাকার জন্য পাঠ্য বাক্সে বাম সীমাবদ্ধতা যুক্ত করার পরে ত্রুটিটি XCode দ্বারা সমাধান করা হিসাবে বিবেচিত হয়েছিল এবং এটি আমাকে আর সীমাবদ্ধ সতর্কতার সাথে বিরক্ত করে না।


0

সুপার ভিউয়ের প্রান্তগুলি থেকে একই প্যাডিং সহ বোতামটি দেওয়ার চেষ্টা করার সময় আমার একই সমস্যা ছিল।

ত্রুটি কেস

আমি horizontal centerসীমাবদ্ধতা এবং equal widthsসীমাবদ্ধতা ব্যবহার করে শেষ করেছি super view

আমার সমাধান


-1

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

আকার পরিদর্শক

ত্রুটি ঠিক করতে : শীর্ষস্থানীয় / ট্রেলিং সীমাবদ্ধতা অনুপস্থিত যা অন্যান্য দর্শনগুলির সাথে ওভারল্যাপিংয়ের কারণ হতে পারে

এর অর্থ হ'ল এক্সকোডের দর্শন / অবজেক্টটি অভিযোগ করছে, প্রতিবেশী দর্শনে একটি শীর্ষস্থানীয় বা ট্রেলিং বাধা অনুপস্থিত।

নিয়ন্ত্রণ ধরে রাখার সময়, ভিউ / অবজেক্ট দ্বারা কাছাকাছি টানুন

কন্ট্রোল + প্রেসক্লিক

একটি নেতৃস্থানীয় বা অনুসরণীয় সীমাবদ্ধতা যুক্ত করুন

নেতৃস্থানীয় / অনুসরণীয় সীমাবদ্ধতা


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