এক্সকোড 8 এ আপডেট করার পরে লেআউট সংক্রান্ত সমস্যা


102

এখানে একটি আগে ও আমার পর্দা এক পর পর আমি Xcode 8. আপগ্রেড
সকল আমি আমার খুলুন ছিল main.storyboard এবং সেখান থেকে, আমি তৈরী এবং আমার ফোনে আমার অ্যাপ্লিকেশানের দৌড়ে।
আমার সংস্করণ নিয়ন্ত্রণে, আমি দেখতে পাচ্ছি যে এক্সকোড আমার মেইন.স্টোরিবোর্ডটি কেবল এটি খোলার থেকে অনেক পরিবর্তন করছে।
আমি যখনই এই পরিবর্তনগুলি মুছব তখন আমি এক্সকোড 7.3.1 এ যা দেখতে ব্যবহার করি তা দেখতে পাচ্ছি।
তবে, আমি আমার স্টোরিবোর্ডটি দিয়ে ইন্টারফেস বিল্ডারকে পুনরায় খুলতে গেলে, আমি দেখতে পাচ্ছি যে এই পরিবর্তনগুলি আবার ফিরে এসেছে।

আমি এখানে কিছু করতে পারি?

এক্সকোডের আগে 8

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

এক্সকোড 8 এ আপডেট করার পরে

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


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

6
আপনি কি bugreport.apple.com এ একটি বাগ ফাইল করতে পারেন এবং স্টোরিবোর্ডটি সংযুক্ত করতে পারেন যার জন্য এটি ঘটছে? আমরা এটি আরও বিশ্লেষণ করতে চাই।
কুইন টেলর

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

@ কুইনটেলর আমার একই রকম সমস্যা হচ্ছে, এক্সকোড 8 আমার স্টোরিবোর্ডটিকে ইউআইটিবেল ভিউজে ইউআইআইমেজভিউগুলি রূপান্তরিত করার পরে তাদের রূপরেখাটি দৃশ্যমান থাকা সত্ত্বেও কোনও সামগ্রী দেখায় না Debug View Hierarchy। একই শ্রেণীর অন্যান্য বস্তুগুলি যা ইউআইকোলিকেশনভিউতে রয়েছে তা প্রভাবিত হয় না।
ম্যানুয়েল

এক্সআইবি বা স্টোরিবোর্ডটি ডিফল্টটিকে পুরানো সংস্করণ 7.x হিসাবে সেট করে এবং সেভ এবং ক্লোজ করে। অস্থায়ী সমাধান, কিন্তু কাজ করে। একবার সংরক্ষণ এবং বন্ধ করার পরে আর খুলবেন না। অন্যথায় আবার শুরু থেকে একই পদক্ষেপগুলি অনুসরণ করা দরকার।
ভবেশ কুম্ভনি

উত্তর:


111

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

  1. এক্সকোড 8 এ আপনার স্টোরিবোর্ডটি খুলুন এবং একটি প্রাথমিক ডিভাইস ভিউ চয়ন করুন। আপনি যেমন করুন তেমন পরিবর্তন করুন।
  2. আপনি একবার আপনার পরিবর্তনগুলি শেষ করার পরে, স্টোরিবোর্ডটি নির্বাচন করুন -> ফাইল ইন্সপেক্টর -> খোলে -> 'এক্সকোড x.x' নির্বাচন করুন।

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

  1. জিজ্ঞাসা করা হলে 'সংরক্ষণ করুন এবং বন্ধ করুন' নির্বাচন করুন
  2. আপনার স্টোরিবোর্ড পরিবর্তনগুলি সংরক্ষণ করা হবে এবং আপনার স্টোরিবোর্ডটি প্রাক-এক্সকোড 8 এর মতোই কাজ করবে।

আপনার যখন স্টোরিবোর্ড ফাইলে অন্য পরিবর্তন করা দরকার তখন আবার এই পদক্ষেপগুলি অনুসরণ করুন।


নিশ্চিত এটির জন্য বাহ +1। আমি আমার টুডে এক্সটেনশনের মধ্যে আইওএস 10 এ এর ​​সাথে লড়াই করেছি। গিফ ডিফগুলি বিশ্লেষণ করে আমি জিনিসগুলি সঙ্কুচিত না করা অবধি ছিল না, আমি দেখেছিলাম যে সন্দেহভাজন স্টোরিবোর্ড এক্সএমএল সম্পাদনাগুলি এক্সকোড ৮ দ্বারা যুক্ত করা হয়েছিল X আইওএস 10 এর জন্য এক্সকোড 8 ধন্যবাদ।
জন এর্ক

এটি অবশ্যই একটি বাগ দেখায়। এক্সকোড x.x এ ওপেন হিসাবে সংরক্ষণ করা আমার জন্য অস্থায়ী কর্মক্ষেত্র হিসাবে কাজ করেছিল।
স্টিভ এ

আমি এই পোস্টটি না পাওয়া পর্যন্ত Xcode8 এ স্থান থেকে স্থানে সমস্ত ভাঙ্গা লেআউট ঠিক করার জন্য গত 3 দিন অতিবাহিত করেছি। আমার সম্ভবত আপেলের চেয়ে আপনার মতো লোকদের উপর বিশ্বাস করা উচিত। বিশ্বাস করতে পারি না এটি আমার অনেক সময় নষ্ট করে। ডেভিড এর জন্য আপনাকে অনেক ধন্যবাদ!
Xu Yin

@ এক্সুইন প্রতিটি স্টোরিবোর্ডের জন্য আমাদের কি এটি করা উচিত? মানে আমার প্রোজেক্টে আমার যদি আরও একটি স্টোরিবোর্ড থাকে? Xib ফাইল সম্পর্কে কি? আমি কি তাদের জন্য এটি করা উচিত?
মধু

@ মধু আমি স্টোরিবোর্ডে তা করি নি, তবে আমি প্রকাশিত প্রতিটি xib ফাইলেই করেছি। তবে আমি মনে করি আপনি স্টোরিবোর্ডেও চেষ্টা করতে চাইলে আপনি যদি অদ্ভুত বিন্যাসের সমস্যাটি দেখতে পান। যেহেতু এই ফিক্সটি কেবল 5 সেকেন্ডের মতো লাগবে। এবং অ্যাপ্লিকেশনটি পুনর্নির্মাণের পরে আপনার খুব দ্রুত সমাধানটি দেখতে পারা উচিত।
Xu Yin

14

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


6
এটি সাহায্য করে না কারণ আমার ফাইলটিতে কাজ করা দরকার। এই সমস্ত কাজটি হ'ল পিছনের সামঞ্জস্যের জন্য ফাইলটি সংরক্ষণ করা। এটি
xib কে

আমি এটি করছি তবে আবার যখন আমি ড্রপডাউনতে এক্সিব ফাইলটি নির্বাচন করছি তখন এটি কেবল এক্সকোড ৮.০ দেখায় ...
জয়ন্ত কাঁচাট

8

এহ একই সমস্যা। আমি আংশিকভাবে এটি নিম্নলিখিত উপায়ে ঠিক করতে সক্ষম হয়েছি (এক্সকোড সংস্করণ 8.1 (8 বি 62) এর জন্য )

স্টোরিবোর্ডের ডকুমেন্টের রূপরেখায়, আমি প্রতিটি দৃশ্যে ক্লিক করেছি যার মধ্যে হলুদ তীর রয়েছে যা কিছু বিন্যাসের ইঙ্গিত দেয় (স্ক্রিনশটের 1 নম্বর)

এর পরে, প্রতিটি সমস্যাযুক্ত দৃশ্যের জন্য, আমাকে "আপডেট ফ্রেমগুলি" ছোট আইকনটিতে ক্লিক করতে হয়েছিল (স্ক্রিনশটের 2 নম্বর) যা দৃশ্যে প্রতিটি বিন্যাসের সমস্যাগুলি স্থির করে।

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

তবে আমার ক্ষেত্রে একটি দৃশ্য Xcode7 থেকে Xcode8 এ স্থানান্তরিত হওয়ার পরে এখনও কান্নাকাটি অবস্থায় ছিল। সীমাবদ্ধতাগুলি সামঞ্জস্য করে বা হারিয়ে যাওয়া সীমাবদ্ধতাগুলি যোগ করে আমাকে নিজেই এটি ঠিক করতে হয়েছিল।

ভাই, এক্সকোড 8 এবং স্টোরিবোর্ডগুলির জন্য দুর্দান্ত চমক নয়। আপনি যদি অ্যাপকোড সম্পাদক ব্যবহার করেন তবে আপনার এ জাতীয় সমস্যা হবে না, কারণ এটি স্টোরিবোর্ড সমর্থন করে না; পি

শুভকামনা!



6

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

(আমি যে কোনও এইএইচওউইউ প্রস্থ 600 ব্যবহার করেছি) যখন এক্সকোডটি এক্সকোড 8 এ আপডেট হয় এটি আমার সমস্ত ভিউকন্ট্রোলারের আকার পরিবর্তন করে। ফলস্বরূপ সমস্ত বিন্যাস বিকৃত হয়েছিল।
বর্তমানে আমি ইস্যুটির জন্য কেবলমাত্র 3 টি সমাধান দেখতে পাচ্ছি (খুব শীঘ্রই ঠিক করার অপেক্ষায় আমি বিশ্বাস করব না)।

1. প্রতিটি ভিউকন্ট্রোলারের জন্য যান এবং এটিকে ঠিক করে দিন Update Frames

২. Size Inspector -> Freeform -> 600বেশিরভাগ কন্ট্রোলারই অনুমান করা হয়েছে বলে মূল ভিউকন্ট্রোলারে যান, এটি তাদের সকলের আকার পরিবর্তন করবে (

৩. স্টোরিবোর্ডের জন্য গিটের পরিবর্তনগুলি বাতিল করুন (আমি এটি প্রস্তাব করব না কারণ অ্যাপল কিছু আপডেটও inোকাল যা এক্সকোডের পক্ষে গুরুত্বপূর্ণ হতে পারে)।

এক্সকোড 8 (ডাব্লুডাব্লুডিসি 16) এ নতুন অটোলআউট বৈশিষ্ট্যগুলির জন্য অতিরিক্ত লিঙ্ক: অ্যাপ্লিকেশনকে অভিযোজিত তৈরি করা, অংশ 1


1
বিকল্প 1 সবচেয়ে বুদ্ধিমান এবং এটি আমার পক্ষে কাজ করে। মাইক.আর নোট হিসাবে, ট্র্যাকটি আরও ঝামেলা হওয়া অনিবার্য হওয়ায় এক্সকোডকে জিনিসগুলি ঠিক করার ক্ষেত্রে 'চালিত' করার চেষ্টা করার বিষয়ে সতর্ক থাকুন।
আর্কেডি বব

আমি বিকল্প 1ও ব্যবহার করেছি (আমার মনে হয় এটি আরও নিরাপদ)। তবে এর সময়সাপেক্ষ।
মাইক.আর

5

আমার ক্ষেত্রে আখিল কাটেজার প্রস্তাবিত সমাধানগুলিতে কাজ করে এবং আমার মূল দৃষ্টির প্রস্থ এবং উচ্চতাও পুনরায় সেট করতে হবে:

1) নিখরচায় ফর্ম ফর্মের আকার দেখুন

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

2) ভিউর প্রস্থ এবং উচ্চতাটিকে মূল আকারে পুনরায় সেট করুন:

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

অবশেষে সংরক্ষণ করুন এবং আপনার কাজ শেষ হয়েছে।


4

আমার জন্য সমাধানটি ছিল কেবল ইউআইভিউউকন্ট্রোলারের সাথে সমস্যাগুলি এবং তারপরে ক্লিক করা Editor > Resolve Auto Layout Issues > All Views In ... > Updates Frames

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

এছাড়াও নোট করুন: যদি আপনি যেমন নেভিগেশন বার মিসস্প্লেড ভিউ সতর্কতা পেয়ে থাকেন তবে কেবল ইউআইএনএভিগেশন কন্ট্রোলার / ইউআইভিউকন্ট্রোলার নির্বাচন করুন এবং তারপরে Attributes Inspector > Bar Visibility > Shows Navigation Bar- এটিকে টগল অফ করুন এবং তারপরে আবার চালু করুন।


3

ইনফারেড থেকে ফ্রিফর্মে ভিউ সাইজ সেট করা আমার পক্ষে কাজ করেছিল। এটি অ্যাট্রিবিউটস ইন্সপেক্টর ইন সিমুলেটেড মেট্রিক্স শিরোনামের অধীনে পাওয়া যাবে ।


3

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

self.view.layoutIfNeeded()

1
চিয়ার্স বিল! সেই 'লেআউটআইফনেড' আমার পক্ষে কাজ করেছিল! (কয়েক ঘন্টা চেষ্টা করার পরে ..)
ইথান হালপ্রিন

3

আমি প্রতিটি নিয়ামক নির্বাচন করেছি এবং "আপডেট ফ্রেমগুলি" ক্লিক করেছি এবং এটি লেআউটটি ঠিক করেছে।


3

@ ডেভিড-ট্রুংয়ের উত্তর ( https://stackoverflow.com/a/39589860/1407528 ) আমার ক্ষেত্রে কাজ করছে না, তাই আপনি যদি আমার একই পরিস্থিতিতে থাকেন তবে এটি চেষ্টা করুন:

  • পূর্ববর্তী এক্সকোডটি এখানে Download.৩.১ ডাউনলোড করুন: https://developer.apple.com/download/more/
  • আপনার সমস্ত পরিবর্তনগুলি পূর্বাবস্থায় ফিরুন (যদি আপনার কাছে গিটের মতো কোড ম্যানেজার থাকে। আপনি যদি না করেন তবে আপনার উচিত ' https://githowto.com/ ')
  • এক্সকোড 7.3.1 দিয়ে প্রকল্পটি খুলুন।

আইওএস 10+ এ আপনার সমস্ত ডিভাইস আপডেট হওয়ার ক্ষেত্রে, এক্সকোডের এই সংস্করণটি সেই ডিভাইসগুলিকে সামঞ্জস্যপূর্ণ ডিভাইস হিসাবে স্বীকৃত করবে না। সুতরাং, এই কৌশলটি দিয়ে চেষ্টা করুন:

  • এখানে যান: / অ্যাপ্লিকেশনস / এক্সকোড.এপ / সামগ্রী / ডেভেলপার / প্ল্যাটফর্ম / আইফোনস.প্ল্যাটফর্ম / ডিভাইসসপোর্ট
  • আইওএস 10 বা 10.1 এর সাথে সম্পর্কিত ফোল্ডারগুলি অনুলিপি করুন: / অ্যাপ্লিকেশনস / এক্সকোড 7.3.1.app/Contents/ ডেভেলপার / প্ল্যাটফর্মস / আইফোনস.প্ল্যাটফর্ম / ডিভাইসসপোর্ট
  • এক্সকোড 7.3.1 দিয়ে প্রকল্পটি খুলুন (যদি আপনার ইতিমধ্যে খোলা থাকে তবে এক্সকোডটি পুনরায় চালু করুন)
  • আপনার সংযুক্ত iOS 10+ ডিভাইসটি নির্বাচন করুন
  • রান চালান

দ্রষ্টব্য: সুইফ্টের মতো নতুন বৈশিষ্ট্যগুলি এই কৌশলটি ব্যবহার করে উপলভ্য হবে না তবে আপনি আপনার প্রকল্পটি লোড এবং তৈরি করতে সক্ষম হবেন।


3

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

আমি যখন c.৩ থেকে এক্সকোড ৮ এ এক্সকোড আপডেট করে অ্যাপ্লিকেশনটি চালিত করি তখন কিছু মতামতগুলি পুরোপুরি প্রদর্শিত হয় তবে কিছু বিকৃত হয় hen ডিভাইসের আকার যা অফকোর্স নয় Any-Any(Xcode 7.3)। সুতরাং সমস্ত নিবস ফাইলটি সঠিক উপায়ে প্রদর্শিত হচ্ছে না।

সমাধানের কাজটি আমাকে গঠন করে: - নীচের চিত্রের মতো হলুদ তীর টিপুন

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

এটি এমন একটি পপ আপকে অনুরোধ করবে যা পছন্দগুলি পছন্দ করে

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

পরীক্ষিত.ইটি Update Framesদিয়ে নির্বাচন করুন Apply to all views in containerপ্রায় 90% বিকৃত ইউআইয়ের সমাধান হবে এবং বাকী স্বয়ংক্রিয় বিন্যাসের সমস্যাগুলি ম্যানুয়ালি সমাধান করা যেতে পারে।


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

হ্যাঁ, অফ-কোর্সটির জন্য আপনাকে কিছুটা সময় ব্যয় করতে হবে এবং আপনি যখন ইউআর ইউআইয়ের কিছু আপডেট করতে চান তখন এই সমাধান আপনাকে আরও দীর্ঘমেয়াদে সহায়তা করতে পারে।
অনুরাগ ভাকুনি

1

আমি এক্সকোড সংস্করণ 7.3.1 ব্যবহার করে সমস্যার সমাধান করেছি আপনি আপেল বিকাশকারী পোর্টাল থেকে .dmg ফাইলটি ডাউনলোড করতে পারেন। আমি প্রতিটি অ্যাপ্লিকেশনে অটোরিজিং ব্যবহার করেছি এবং এটি আমার পক্ষে দুর্দান্ত কাজ করে। আমি যদি তারা এই বাগটি ঠিক করতে পারি তবেই আমি এক্সকোড 8 এ আপডেট করব।

এটি এখানে ডাউনলোড করুন: https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_7.3.1/Xcode_7.3.1.dmg


আপনি যদি আইওএস 10 সমর্থন করতে চান তবে এই সমাধানটি অকেজো
জংলেদেভ

1

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


1

আমি এক্সকোড ৮.২ এ একটি নতুন বোতাম লক্ষ্য করেছি, (ছবিতে কমলা বৃত্তটি দেখুন)। এটি আপনাকে কিছু সহায়তা দেবে।

পদক্ষেপগুলি: ১. স্টোরিবোর্ডটি খুলুন এবং আপনার যে কোনও ডিভাইসটি নির্বাচন করুন २. শুধু দেখুন নিয়ন্ত্রকটি নির্বাচন করুন ৩. উল্লিখিত বোতামটি ক্লিক করুন (চিত্রের মতো) ৪. এটি দর্শনের নিয়ামকের জন্য ফ্রেম আপডেট করবে এবং আপনি এটির সাথে এগিয়ে যেতে পারেন

এর চেয়ে ভাল সমাধান আমি খুঁজে পাইনি। যদি পাওয়া যায় তবে উত্তর দিন।

আইবি স্ক্রিনশট


কিছুই হয়নি।
Muju

0

ভিডিডলোডে সীমাবদ্ধতাগুলি এবং লেআউটের সাবভিউগুলি আপডেট করে সমস্যার সমাধান করে

- (void) viewDidLoad {
        [self.view updateConstraints];
        [self.view layoutSubviews];
        [super viewDidLoad];
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.