স্টোরিবোর্ডে ট্যাব বার আইটেম নির্বাচিত রঙ পরিবর্তন করুন


175

আমি আমার ট্যাব বার আইটেমগুলিকে ডিফল্ট নীল পরিবর্তে নির্বাচন করা হলে গোলাপী হতে চাই to

এক্সকোড 6-এ স্টোরিবোর্ড সম্পাদকটি ব্যবহার করে আমি কীভাবে এটি সম্পাদন করতে পারি?

এখানে আমার বর্তমান সেটিংস যা কাজ করছে না, নীল পটভূমি কাজ করে তবে গোলাপী কাজ করে না:

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



এই উত্তরটি পরীক্ষা করে নিন এটি আপনাকে সমাধানের জন্য সহায়তা করবে: stackoverflow.com/a/58727092/7804300
তালহা আহমেদ

উত্তর:


408

স্টোরবোর্ড থেকে "টিন্টকালার" নামে রানটাইম রঙের বৈশিষ্ট্য যুক্ত করুন। এটি কাজ করছে ( এক্সকোড 8 এবং তারপরের জন্য )।

আপনি যদি অনির্বাচিত রঙ চান .. আপনি খুব যোগ করতে পারেন unselectedItemTintColor

রানটাইম অ্যাট্রিবিউট হিসাবে টিন্ট কালার সেট করা


24
এটি আমার জন্য কাজ করেছিল যখন আমি এই সম্পত্তিটি ইউআইটিববারআইটিমে যোগ করি এবং না ইউআইটিববারকে।
সৌরভ 86

1
তবে আপনি কীভাবে স্টোরিবোর্ডে ট্যাব বার আইটেমটি নির্বাচিত রঙ সেট করবেন?
পিটার

1
আমার ক্ষেত্রে নিখুঁত কাজ করে - আমার নির্বাচিত হওয়ার সময় আমার পাঁচটি ট্যাববার আইটেমের অনন্য রঙ হতে হবে। আমি আমার ট্যাববারের সাথে সংযুক্ত থাকাতে UITabBarItem, এই রানটাইম অ্যাট্রিবিউট সেট করতে সক্ষম UINavigationControllerহয়েছি এবং এটি নির্দ্বিধায় কাজ করে। কোনও কোড না লিখে সমস্ত খুব দুর্দান্ত যা আমি তিনবার ভিসি ক্লাসটি পুনরায় ব্যবহার করছি। ধন্যবাদ!
রোশাম্প

7
বিপরীতে - এটিই একমাত্র পদ্ধতির যা আইওএস 10 এ কাজ করে (অ্যাট্রিবিউটস প্যানেলের টিন্টটি কাজ করে না বলে মনে হয়, এবং ইউটিববারাইটেমের রানটাইম অ্যাট্রিবিউট "টিন্ট কালার" খুব বেশি কাজ করে না
লুকি

5
স্ট্যাকওভারফ্লো 1: অ্যাপল 0
মস্তান

175

এই মার্জিত সমাধানটি সুইফট 3.0 , সুইফট 4.2 এবং সুইফট 5.1 এ দুর্দান্ত কাজ করে :

স্টোরিবোর্ডে:

  1. আপনার ট্যাব বারটি নির্বাচন করুন
  2. একটি সেট রানটাইম Attibute নামক tintColor পছন্দসই রঙের জন্য নির্বাচিত আইকন ট্যাব বারে
  3. ট্যাব বারের অনির্বাচিত আইকনের পছন্দসই রঙের জন্য একটি অপ্রাপ্ত নির্বাচিত আইটেমটিন্ট কালার নামে রানটাইম অ্যাটিবুট সেট করুন

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

সম্পাদনা করুন: আইওএস 10/12 এবং তারপরের জন্য এক্সকোড 8-10 এর সাথে কাজ করা


6
অনেক ধন্যবাদ. অনির্বাচিত
আইটেমটিন্ট কালার

4
'অনির্বাচিত আইটেমটিন্ট কালার' আমার জন্য নির্ভুল সমাধান ধন্যবাদ
ফোজোগলু

মোতায়েনের লক্ষ্য 8.0 বা 9.0 হলে এই কাজ করবে? আমি উন্নয়নের জন্য সুইফট 3.0 এবং এক্সকোড 8.0 ব্যবহার করেছি
মমতা

2
ট্যাব বারটি নির্বাচন করা গুরুত্বপূর্ণ, আমার পক্ষে প্রকৃতপক্ষে সুইফট 4-এ কাজ করেছিল।
কনস বালাকেনা

2
অসাধারণ! এখনও এক্সকোড 10 এ কাজ করছে :) ভিজ্যুয়াল এডিটরটি রিফ্রেশ করে না তবে একবার সংকলিত কাজ করে :)
মিহাইল মিনকভ

64

সুইফটে, এক্সকোড using ব্যবহার করে (এবং তারপরে), আপনি নিজের অ্যাপডেলিগেট.সুইফ্ট ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করতে পারেন:

UITabBar.appearance().tintColor = UIColor(red: 255/255.0, green: 255/255.0, blue: 255/255.0, alpha: 1.0)

সম্পূর্ণ পদ্ধতিটি দেখতে এটির মতো:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    // I added this line
    UITabBar.appearance().tintColor = UIColor(red: 255/255.0, green: 255/255.0, blue: 255/255.0, alpha: 1.0)

    return true
}

উপরের উদাহরণে আমার আইটেমটি সাদা হবে। "/ 255.0" প্রয়োজন কারণ এটি 0 থেকে 1 এর মান প্রত্যাশা করে white সাদাদের জন্য, আমি কেবল 1 ব্যবহার করতে পারতাম But তবে অন্য রঙের জন্য আপনি সম্ভবত আরজিবি মান ব্যবহার করবেন।


3
দেখে মনে হচ্ছে এটি অন্য কোনও পদ্ধতির কাজ করে না (আর কোনও।) এটি কাজ করে না!
টেডি

@ জারোদ আমি প্রায় 1 ঘন্টা ধরে এটি বোকা বানাচ্ছিলাম, এই উত্তরের আরও ভোট হওয়া উচিত। ধন্যবাদ!
ল্যান্স সামেরিয়া

53

উপর Xcode8আমি পরিবর্তিত হয়েছে ImageTintস্টোরিবোর্ড থেকে এবং এটি ভাল কাজ করে।

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

ফলাফল:

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


1
কাস্টম চিত্রগুলি ব্যবহার করার সময় এটিই আমার জন্য কাজ করেছিল
জুয়ানজো

1
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। এটির জন্য রানটাইম বৈশিষ্ট্যটির প্রয়োজন নেই যার অর্থ এটি লঞ্চ স্ক্রিনগুলিতে কাজ করে!
ক্রিস ডগলাস

18

সুইফট 3 | এক্সকোড 10

আপনি যদি সমস্ত ট্যাব বার আইটেমকে একই রঙের (নির্বাচিত ও নির্বাচিত) করতে চান ...


ধাপ 1

আপনার চিত্রের সম্পদগুলি হিসাবে = টেমপ্লেট চিত্রটি রেন্ডারে সেটআপ হয়েছে তা নিশ্চিত করুন । এটি তাদের রঙের উত্তরাধিকারী হতে দেয়।

এক্সকোড সম্পত্তি


ধাপ ২

আপনার ট্যাব বারের সেটিংসটি পরিবর্তন করতে স্টোরিবোর্ড সম্পাদকটি ব্যবহার করুন:

  • ট্যাব বারটি সেট করুন : আপনি নির্বাচিত আইকনটি উত্তরাধিকার সূত্রে চান এমন রঙের জন্য চিত্র রঙ করুন।
  • ট্যাব বার সেট করুন: ট্যাব বারটি আপনি যে রঙটি চান তাতে রঙিন বার বার করুন।
  • সেট ভিউ: স্টোরিবোর্ড সম্পাদকটিতে আপনি যে রঙটি দেখতে চান তাতে রঙ দিন, আপনার অ্যাপটি চলাকালীন এটি আইকনের রঙকে প্রভাবিত করে না।

এক্সকোড স্টোরিবোর্ড সম্পাদক


ধাপ 3

1 এবং 2 পদক্ষেপ নির্বাচিত আইকনটির রঙ পরিবর্তন করবে। আপনি যদি এখনও অনির্বাচিত আইটেমগুলির রঙ পরিবর্তন করতে চান তবে আপনার কোডে এটি করা দরকার। স্টোরিবোর্ড সম্পাদকের মাধ্যমে এটি করার কোনও উপায় আমি পাইনি।

একটি কাস্টম ট্যাব বার নিয়ামক শ্রেণি তৈরি করুন ...

//  TabBarController.swift

class TabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // make unselected icons white
        self.tabBar.unselectedItemTintColor = UIColor.white
    }
}

... এবং আপনার ট্যাব বার দৃশ্যের নিয়ামককে কাস্টম ক্লাস নির্ধারণ করুন।

এক্সকোড স্টোরিবোর্ড সম্পাদক


আপনি কীভাবে স্টোরিবোর্ড সম্পাদকের মাধ্যমে অনির্বাচিত আইকন রঙটি পরিবর্তন করবেন তা অনুগ্রহ করে আমাকে জানান। ধন্যবাদ!


self.tabBar.unselectedItemTintColor = UIColor.white self.tabBar.tintColor = #colorLiteral(red: 0.2, green: 0.7333333333, blue: 0.3450980392, alpha: 1) আমার জন্য কাজ করুন
ওয়াহাব খান জাদন

9

আপনি যে রঙের রঙটি পরিবর্তন করতে চান তাতে এই কোডটি ভিউ কন্ট্রোলারের ভিডডিলোডে রাখুন

[[UITabBar appearance] setSelectedImageTintColor:[UIColor whiteColor]];

1
ট্যাবগুলির জন্য কী কোনও পরিবর্তন করার উপায় নেই?
Deekor

আপনার রঙের সমস্ত ট্যাব লোড করে দেখায় একই রঙের সাথে কোডটি রেখে দিন
নিক

আপনি আপনার ইউআইটিএবকন্ট্রোলার তৈরি করার পরে আপনি এই কোডটি ব্যবহার করতে পারবেন, এটি নির্বাচনের সমস্ত ট্যাব আইটেমের জন্য বর্ণিত রঙ সেট করবে।
জেরিন

সেলেক্টেড ইমেজটাইম कल্টর
মধু অবিনাশ

8

আপনি কী পথ দ্বারা নির্বাচিত চিত্র বার রঙিন রঙ সেট করতে পারেন:

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

আশা করি এটা তোমাকে সাহায্য করবে!! ধন্যবাদ


আইওএস 9-তে এটি অনির্বাচিত রঙ পরিবর্তন করে না
সাইদ রহমাতলাহী

কীভাবে এটি ইউআইটিববার আইকনের রঙ পরিবর্তন করতে সহায়তা করবে?
মধু অবিনাশ

7

এক্সকোড 8.2, আইওএস 10, সুইফট 3: এখন এর জন্য একটি unselectedItemTintColorবৈশিষ্ট্য রয়েছে tabBar:

self.tabBar.unselectedItemTintColor = UIColor(red: 0/255.0, green: 200/255.0, blue: 0/255.0, alpha: 1.0)

6

স্টোরিবোর্ডের মাধ্যমে আপনি রঙগুলি ইউআইটিববার্ট আইটেম পরিবর্তন করতে পারেন তবে আপনি কোড অনুসারে রঙ পরিবর্তন করতে চান এটি খুব সহজ:

// নির্বাচিত বারের রঙ পরিবর্তন করার জন্য এটি ব্যবহার করুন

   [[UITabBar appearance] setTintColor:[UIColor blueColor]];

// এটি অনির্বাচিত বারের জন্য পরিবর্তন (আইওএস 10)

   [[UITabBar appearance] setUnselectedItemTintColor:[UIColor yellowColor]];

// এবং সমস্ত ট্যাববারের রঙ পরিবর্তনের জন্য এই লাইন

   [[UITabBar appearance] setBarTintColor:[UIColor whiteColor]];

SetUnselectedItemTintColor শুধুমাত্র আইওএস 10 এর জন্য
ondermerol

5

কোনওভাবেই আমরা একা স্টোরিবোর্ড ব্যবহার করে ট্যাব বারের নির্বাচিত আইটেম টিন্টের রঙ পরিবর্তন করতে পারছি না, তাই আমি আমার ভিউডিডলডে কোডের নীচে যুক্ত করেছি, আশা করি এটি সাহায্য করবে।

[[UITabBar appearance] setTintColor:[UIColor whiteColor]]; 

5

আপনার অ্যাপের প্রতিনিধি -did_finish_launching_with_options ফাংশনে এই কোডটি যুক্ত করুন

UITabBar.appearance().tintColor = UIColor( red: CGFloat(255/255.0), green: CGFloat(99/255.0), blue: CGFloat(95/255.0), alpha: CGFloat(1.0) )

প্রয়োজনীয় রঙের আরজিবি রাখুন


4

এটি আইওএস 10 এ কাজ করে যা সুইফট 3 এ সমাধান:

প্রথমত, আপনি নিজের ট্যাব বার নিয়ামক সাবক্লাস তৈরি করেন এবং এটিকে আপনার স্টোরিবোর্ডে আপনার ট্যাব নিয়ন্ত্রকের সাথে যুক্ত করেন। ইন viewDidLoad()পদ্ধতি তারপর আপনি ট্যাব বার কাস্টমাইজ করতে পারেন। এখানে উল্লেখ করা উচিত যে প্রতিনিধিত্বকারীগুলির tintColorবৈশিষ্ট্যটি tabBarনির্বাচিত আইটেমটির রঙ প্রতিনিধিত্ব করে না নির্বাচিতদের রঙের নয়! নির্বাচিত বাছাই করা আইটেমগুলির রঙ পরিবর্তন করতে, আমি প্রতিটি আইটেমের মধ্য দিয়ে লুপিং এবং আপনার চিত্রগুলির মূল রঙগুলি ব্যবহার করার পরামর্শ দিচ্ছি, যাতে সেগুলি স্বয়ংক্রিয়ভাবে ধূসর হিসাবে রেন্ডার হয় না।

class CustomTabBarVC: UITabBarController
{
    override func viewDidLoad()
    {
        super.viewDidLoad()

        self.tabBar.tintColor = AppColor.normalRed
        self.tabBar.barTintColor = .white
        self.tabBar.isTranslucent = true

        if let items = self.tabBar.items
        {
            for item in items
            {
                if let image = item.image
                {
                    item.image = image.withRenderingMode( .alwaysOriginal )
                }
            }
        }
    }
}

এই পদ্ধতির সাথে একমাত্র ক্ষতি হ'ল আপনার আইটেমের চিত্রগুলিতে ইতিমধ্যে আপনার লক্ষ্যযুক্ত পছন্দসই রঙ থাকতে হবে।


জটিল। জারোদ এর উত্তর সমস্ত আইকন দিয়ে ভাল কাজ করে।
হোসে রামিরেজ

4

সর্বোত্তম উপায় হ'ল Image Tintস্টোরিবোর্ডে পরিবর্তন


2

আপনি সাবক্লাস করতে পারেন UITabBarControllerএবং স্টোরিবোর্ডে এটির সাথে প্রতিস্থাপন করতে পারেন । আপনার viewDidLoadসাবক্লাস বাস্তবায়নে এটিকে কল করুন:

[self.tabBar setTintColor:[UIColor greenColor]];

পাচ্ছেন:'UITabBar' does not have a member named 'setSelectedImageTintColor'
ডিকর

এছাড়াও আমি self.tabBar.setSelectedImageTintColor = UIColor.greenColor
সুইফ্টটি

2
@Deekor এটা tintColorনা selectedImageTintColor, BTW selectedImageTintColorআইওএস 8. মধ্যে অবচিত
chancyWu
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.