ইন্টারফেস বিল্ডারে "প্রস্থের সমান উচ্চতা" বাধা


93

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


আমার মনে আছে পিটার অ্যামন ডাব্লুডাব্লুডিসি'12 এ "যতটা সম্ভব ইন্টারফেস বিল্ডারের উপর নির্ভর করুন" সম্পর্কে কথা বলছিলেন। কি বিদ্রুপাত্মক.
DemoniacDeath

4
হ্যাঁ, আমি মনে করি লেআউট সীমাবদ্ধতাগুলি প্রয়োগের ফলে এখনও কয়েকটি জিনিস অনুপস্থিত। দেখে মনে হচ্ছে তারা আমাদের বেশিরভাগ পরামিতিগুলিতে অ্যাক্সেস দিয়েছে, তবে গুণক নয়, যা অনেক কিছুর জন্য কার্যকর হবে।
rdelmar

তবে এটি আরও ভাল এবং আরও ভাল হচ্ছে! আমি বলতে চাই যে অটো লেআউটটি 3 বছরেরও কম আগে চালু হয়েছিল এবং আমার দৃষ্টিকোণ থেকে সমর্থনটি আজকাল সত্যই ভাল।
Lukas Kubanek

উত্তর:


188

এক্সকোড 5.1b5 আপডেট করুন

প্রস্থ উচ্চতা সমান

সিটিটিএল + ক্লিক করুন এবং একটি ভিউ থেকে টেনে আনুন এবং পয়েন্টারটি ভিউটির ওপরে যাওয়ার পরে ছেড়ে দিন। "पहलू অনুপাত" নির্বাচন করুন। এটি সীমাবদ্ধতা তৈরি করবে যেখানে প্রথম এবং দ্বিতীয় আইটেমটি দৃশ্য।


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

আপনি পারবেন না কারণ প্রস্থ / উচ্চতা সম্পাদকের অন্য কোনও সম্পত্তির সাথে সম্পর্কিত বা অনুপাত নির্ধারণের জন্য ক্ষেত্রের অভাব রয়েছে:

প্রস্থ সীমাবদ্ধতা

সুতরাং, আপনি ইন্টারফেস বিল্ডারে নিম্নলিখিত কোডটি প্রকাশ করতে পারবেন না:

CGFloat ratio = 1.0;
NSLayoutConstraint *constraint = [NSLayoutConstraint
    constraintWithItem:myView
    attribute:NSLayoutAttributeWidth
    relatedBy:NSLayoutRelationEqual
    toItem:myView
    attribute:NSLayoutAttributeHeight
    multiplier:ratio
    constant:0];
constraint.priority = 1000;
[myView.superview addConstraint:constraint];

4
সর্বশেষ আপডেটের জন্য ধন্যবাদ। এক্সকোড 5.1 বিটা 5 আসলে আপনাকে আইবিতে দিক অনুপাতের সীমাবদ্ধতা সেট করতে দেয় তবে আমি যখন প্রকল্পটি সংকলনের চেষ্টা করি তখন আমি নিম্নলিখিত ত্রুটিটি পাই: 5.1 এর পূর্বে এক্সকোড সংস্করণগুলির সাথে অনুপাতের অনুপাতের সীমাবদ্ধতা । সুতরাং সম্ভবত আমাদের চূড়ান্ত 5.1 সংস্করণের জন্য অপেক্ষা করতে হবে। আপনার জন্য একই, @ জ্যানো?
Lukas Kubanek

হ্যাঁ, XIB- তে পরিবর্তনগুলি সামঞ্জস্যপূর্ণ নয়। আপনি 5.1 দিয়ে সম্পাদনা করলে আপনি কম সংস্করণে ফিরে যেতে পারবেন না।
জানো

তাই আপনি xib সংকলন করতে সক্ষম? এটি আমার জন্য এক্সকোড 5.1 বিটা 5 নিয়েও কাজ করে না।
Lukas Kubanek

4
@ onmyway133 দুটি দর্শনের মধ্যে একটি সীমাবদ্ধতা তৈরি করুন এবং গুণকটিকে 1: 2 এ সেট করুন।
জানো

4
এক্সকোড In-এ, সিটিআরএল + ভিউ থেকে টেনে আনুন এবং নিজের উপরে প্রকাশ করুন, এবং অ্যাস্পেক্ট অনুপাত নির্বাচন করুন
অজৌবিক

2

অনুগ্রহ করে চিত্রের মতো ইউআই উপাদানটিতে 1: 1 তে একটি নতুন সীমাবদ্ধতা, দিক অনুপাত যুক্ত করুন।

অ্যাসপেক্ট রেশিও 1: 1 এ সেট করুন


0

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

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

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

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

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