এক্সকোড - কোনও উপাদানটির ফ্রেমটি না হারিয়ে একটি ভিউ থেকে অন্য ভিউতে টেনে আনার কী উপায় আছে?


91

আমি যা করতে চাই তা হ'ল এক্সকোডের ইন্টারফেস-বিল্ডারের ফ্রেম / অবস্থানটি পুনরায় সেট না করেই কোনও উপাদান / দৃশ্যকে অন্য তদারকিতে অন্যটিতে টেনে আনুন।

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


অতীতে সময়ে, আপনি যদি ফ্রেমটি কেটে পেস্ট করেন তবে একই থাকে। চেষ্টা করে দেখুন।
ডেভিড এইচ

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

এটিকে বাম পাশের কলামে - পেস্ট করার চেষ্টা করুন। সুপার ভিউ নির্বাচন করুন এবং তারপরে পেস্ট করুন। অন্যথায়, দুঃখিত, পরামর্শের বাইরে।
ডেভিড এইচ

উভয় উপায়ে চেষ্টা করেছেন। কাজ করে না। এটি হার্ড উপায়ে করতে শেষ হয়েছে।
আরথ

সেখানে কার্যসংক্রান্ত হবে বলে মনে হয় stackoverflow.com/questions/12034293/... কিন্তু এটা খুবই ভাল না
ইউজিন Osovetsky

উত্তর:


224

আরেকটি সমাধান:

  1. আপনার সাবউভিউতে আপনার পছন্দসই আইটেমগুলি নির্বাচন করুন
  2. (সরঞ্জাম দণ্ডে) সম্পাদক> এম্বেড ইন> এম্বেড করতে ভিউ টাইপ।

12
ধন্যবাদ এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। আপনি নতুন সুপার ভিউ -> ভিউ এম্বেড -> নতুন ধারক দর্শনটিকে পছন্দসই সুপার ভিউ -> সম্পাদক - এম্বেড এ সরাতে চান এমন সমস্ত দর্শন নির্বাচন করুন। ভয়েলা! সমস্ত মতামত সঠিক ফ্রেম সহ নতুন সুপারভিউতে রয়েছে।
অ্যাক্যাটিক

18
খুব খারাপ যে কোনও অটো লেআউটের সীমাবদ্ধতাগুলি অনুলিপি করা হবে না, কেবলমাত্র আমি দেখেছি এক্সিবের
জেমস

4
এখনও অদ্ভুত একটি জিনিস হ'ল আমি যখন আমার সাবভিউগুলি তাদের নতুন তত্ত্বাবধানে এম্বেড করি তখন তদারকির অদ্ভুত সমন্বয় থাকে। এটি একটি -20 x এবং -20 y দিয়ে শুরু হবে এবং তারপরে যদি আমি 0,0 এ সেট করি তবে সমস্ত কিছু অফ-সেন্টার।
user3344977

4
@ জেমস আমি এটি করতাম। তবে আমি দেখতে পেলাম যে আপনি যদি এক্সকোড 6-এ কমান্ড-এক্স_কম্যান্ড-ভি মতামতগুলি দেখান তবে আটকানো দর্শনগুলির মধ্যে সীমাবদ্ধতাগুলি সম্মানিত। ছোট উন্নতি।
স্টিভেন ক্র্যামার

4
@ স্টিভেনক্রার আমি কমান্ড-এক্স এবং কমান্ড-ভি দিয়ে চেষ্টা করেছি, আমার পক্ষে কাজ করে নি। এটি করার জন্য আপনার কি আরও পদক্ষেপ রয়েছে? আমি আগ্রহী
এহর

28

আমি এমন কিছু খুঁজে পেয়েছি যা আপনাকে বললে সহায়তা করতে পারে!

কাজটি হ'ল "শিশু দৃষ্টিভঙ্গি "গুলিকে" পিতামাতা দর্শন "এ পুনরায় দলবদ্ধ করা যাতে তারা অভিজাত দৃষ্টিভঙ্গির পিতা বা মাতার দৃষ্টিভঙ্গি হয়ে যায় এবং ক্রিয়া করার আগে যেমন প্রদর্শনীতে শারীরিক অবস্থান ধরে রাখে।

প্রথমত, পিতামাতার দৃষ্টিভঙ্গিটি শিশু দর্শনের ক্ষেত্রকে শারীরিকভাবে কভার করার জন্য সমন্বয় করুন। দ্বিতীয়ত, নিশ্চিত হয়ে নিন যে সমস্ত শিশুরা এটিকে ভিউ তালিকার অন্তর্ভুক্ত করেছে।

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

এটি আমার জন্য ওএসএক্স 10.8.2 এবং এক্সকোড 4.6 এ কাজ করে।

শুভকামনা!


দুর্দান্ত ... এটি এমনকি আউটলেট এবং ফ্রেমগুলিও ভেঙে দেয় না। ব্রেক ফ্রেম দেখুন এম্বেড। কাটা পেস্ট পদ্ধতি ব্রেক এবং আউটলেট ফ্রেম।
jeet.chanchawat

22

আমি স্টাপগুলি পুনরায় স্থাপনের জন্য প্রচুর সময় ব্যয় করতে সক্ষম হয়েছি এবং এটি করেছি:

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

যদিও খুব মার্জিত নয়, এক্সকোড শিফট বা কোনও কিছুর সাথে কেন এটি সমর্থন করে না তা দেখতে পাচ্ছেন না।


4
এটিই কেবলমাত্র একমাত্র উত্তর যা এক্সকোড 5 এ আমার জন্য ধারাবাহিকভাবে কোনও ঝগড়া ছাড়াই কাজ করে। "সম্পাদক-> এম্বেড ইন" দেখে মনে হচ্ছে এটির সঠিক উত্তর হওয়া উচিত তবে এটি সর্বদা আমার যে মতামতগুলিতে সরিয়ে নিতে চান তা তালিকাই দেয় না।
ডেন্টন

10
  1. আপনি সমস্ত ইউআইভিউ থেকে অন্য ইউআইভিউতে (নয় শিশু হন) বা স্ক্রোলভিউতে যেতে চান এমন সমস্ত নিয়ন্ত্রণ নির্বাচন করুন

  2. কাটা / অনুলিপি

  3. এখন আপনার নতুন ইউআইভিউ / স্ক্রোলভিউটি আপনার বিদ্যমান ইউআইভিউতে টেনে আনার পরে এটি নির্বাচন করতে একবার ক্লিক করবেন না, পরিবর্তে ডাবল নতুন ইউআইভিউ / স্ক্রোলভিউতে ক্লিক করুন এবং সমস্ত নিয়ন্ত্রণ আটকান।

  4. দূরত্বের পার্থক্য সমস্ত নিয়ন্ত্রণের মধ্যে একই থাকবে তবে আপনাকে আবার নিয়ন্ত্রণগুলি স্থির করতে হতে পারে। সুতরাং আপনি সেগুলি পুনরায় স্থাপন না করা পর্যন্ত কোথাও ক্লিক করবেন না, কেবলমাত্র নেভিগেশন তীরগুলি দ্বারা সমস্ত নিয়ন্ত্রণগুলি ইতিমধ্যে নির্বাচিত হিসাবে পুনরায় স্থাপন করুন বা আপনি সেগুলি আবার নির্বাচন করতে পারেন।

দ্রষ্টব্য: আমি এক্সকোড ৪.২ এ আছি


আরে যদি এটি কাজ করে তবে এটি এখানে সেরা উত্তর (বিদ্যমান দর্শনে একাধিক নিয়ন্ত্রণ টেনে আনার জন্য)
কলিন

@ ম্যাক্সকোড ৪.6.২ এ, এটিতে দ্বিগুণ ক্লিক করে গৌণ ভিউ উইন্ডো খোলা সম্ভব নয়, সুতরাং এই পদ্ধতিটি কার্যকর হয় না।
কলিন

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

খারাপ জিনিসটি হ'ল আপনি নিজের অটোলেআউট সীমাবদ্ধতাগুলি হারাবেন: '( indiestack.com/2013/12/trans রোপন- নিয়ন্ত্রণগুলি এখানে "প্রতিস্থাপন" সীমাবদ্ধতার উপায় আপনি খুঁজে পেতে পারেন
জোয়ান কার্ডোনা

4

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

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

2

অন্য ভিউতে পর্যালোচনাগুলি অনুলিপি করা এবং অবস্থানগুলি ধরে রাখার জন্য এটি সেরা সমাধান:

  1. আপনার সাবউভিউতে আপনার পছন্দসই আইটেমগুলি নির্বাচন করুন
  2. সম্পাদক -> এম্বেড ইন -> দেখুন
  3. এই দর্শনটি অনুলিপি করুন (সিএমডি + সি)
  4. পূর্বাবস্থায় ফেরা (সিএমডি + জেড) (যেহেতু আপনি কেবলমাত্র পূর্বরূপগুলি চেয়েছিলেন)
  5. আপনি যে মতামতগুলি দেখতে চান তাতে যান এবং এটি আটকে দিন (Cmd + V)
  6. এম্বেডিং ভিউটি নির্বাচন করুন যা আপনি অনুলিপি করেছেন - অনুলিপি করেছেন >

Step ধাপ এম্বেডিং ভিউটি সরিয়ে ফেলবে এবং আপনি কেবলমাত্র পূর্বরূপগুলি অনুলিপি করেছেন।


2

প্যারেন্ট ভিউটি টেনে এনে অন্য ভিউতে ফেলে দেওয়া হলে (ইউআইভিউ, স্ক্রোলভিউ, স্ট্যাকভিউ) এক্সকোড ইন্টারফেস বিল্ডার মিস করে

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

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

  1. আপনার সাবউভিউতে আপনার পছন্দসই আইটেমগুলি নির্বাচন করুন
  2. মেনুবার, সম্পাদক -> এম্বেড ইন -> দেখুন এ যান
  3. সাবউভিউ সহ এই নতুন ভিউ (সিএমডি + সি) অনুলিপি করুন (আমার জন্য বর্তমানে এই মুহুর্তে সমস্ত সীমাবদ্ধতা সংরক্ষণ করা হয়েছিল)
  4. আপনি যে সাবউভিউগুলিতে থাকা এবং অনুলিপি করা হয়েছে (সিএমডি + ভি) আটকাতে চান সেটি দেখতে (এটি কোনও স্ক্রোলভিউ বা স্ট্যাকভিউ হতে পারে) যান
  5. আটকানো এম্বেডিং ভিউ নির্বাচন করুন (যা আপনি নতুনভাবে তৈরি করেছেন) এবং এক্সকোডের মেনুবারে যান, সম্পাদক -> আনম্বড

না, এখনও শেষ হয়নি! কখনও কখনও, আপনি অনুভব করতে পারেন যে আরও কয়েকটি ইউআই সীমাবদ্ধ সম্পর্কিত সমস্যা রয়েছে, আপনাকে সে অনুযায়ী সমাধান করতে হবে।


1

আমি অন্য পদ্ধতির সনাক্ত করলাম। এটি মূলত: চলুন = কাটা + আটকান

আপনি এইভাবে:

  • আপনার সমস্ত মতামতগুলি নতুন পিতামাতার দর্শন (পি ') এর শিশু হতে পান
  • অটো-লেআউট ভিত্তিক স্টোরিবোর্ডে আপনার সমস্ত প্রতিবন্ধকতা (প্রায়) রাখুন
  • আপনার সাবভিউয়ের আপেক্ষিক অবস্থানগুলি (ফ্রেম) একে অপরের কাছে রাখুন

এইভাবে আপনি করবেন না:

  • একটি পাঠ্য সম্পাদকে স্টোরিবোর্ড ফাইল সম্পাদনা করুন

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

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

আপনি সেই নতুন ভিউ (পি ') থেকে প্যারেন্ট ভিউ (পি) কে অনুলিপি করে নতুন (পি') তৈরি করার পরে:

  • আপনি সরানো চেয়েছিলেন এমন শিশুদের বাদে সমস্ত বাচ্চাকে সরিয়ে দিন
  • নতুন পিতামাতার (পি ') সীমাবদ্ধতা পুনরায় তৈরি করুন
  • সম্ভব ইন্টারফেস বিল্ডার আউটলেটগুলি (এসভি) 'তে পুনরায় তৈরি করুন

এবং মূল পিতামাতার দর্শন (পি) থেকে আপনি:

  • আপনি যে সমস্ত বাচ্চাকে সরাতে চেয়েছিলেন তা সরিয়ে দিন

আগে:

ভিউ 1

ভিউ 2

পি

এসভিএস-আপনি-চলাতে চান

এসভিএস-আপনি-করতে চান না-তে সরানো

ভিউ 3

পরে:

ভিউ 1

ভিউ 2

পি

এসভিএস-আপনি-করতে চান না-তে সরানো

ভিউ 3

পি '

এসভিএস'-আপনি-যেতে চান

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

আর একটি বিষয় হ'ল আপনি যখন মূল পিতামাতার ভিউতে (পি) কিছু সাবভিউ (এসভি) সরিয়ে ফেলেন, অন্য (অচলিত সাবভিউ) সেগুলি উল্লেখ করলে আপনাকে কিছুটা বাধা তৈরি করতে হবে। তবে আপনার যেভাবেই করা উচিত।


0

এই সমস্যাটি সমাধান করতে আমাকে কী সাহায্য করেছিল -

  1. মূল স্তরে xib এ কাঙ্ক্ষিত প্যারেন্ট ভিউ (স্ক্রোল ভিউ বা ইউভিউউ) তৈরি করুন এবং সে অনুযায়ী এটি পুনরায় আকার দিন
  2. আপনি এই প্যারেন্ট ভিউর সাবভিউ হতে চান এমন সমস্ত দর্শন অনুলিপি করুন এবং আপনার পদক্ষেপ 1 এ তৈরি করা নতুন দৃশ্যে এগুলি আটকে দিন
  3. এই মুহুর্তে আপনি এই মতামতগুলি সদৃশ করবেন। নতুন যুক্ত হওয়া মতামতগুলি ভুল বিভ্রান্তিকর হবে তবে এখনও একই ক্রমে এবং একে অপরের প্রতি একই দূরত্বে, একই ভিউয়ের পুরানো অনুলিপিগুলির সাথে তাদের সীমানা মেলে Xib এ সারিবদ্ধ করুন (এটি ধরে নেওয়া যায় যে নতুন পিতামাতার মতামত পুরানোটির মতোই সীমানা রয়েছে)
  4. নতুন যুক্ত হওয়া দর্শনগুলি কিছুটা প্রতিবন্ধকতা হারাবে, সেগুলি ঠিক করতে পুরানো দর্শনগুলি দেখুন
  5. Xib থেকে পুরানো ভিউগুলি মুছুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.